0

たとえば、私の PHP スクリプトは、その操作を計算するのに時間がかかります。クライアントに操作の進行状況を知らせ続ける必要があります。例として、PHP ベースのファイル ダウンロードが挙げられます。この場合、ダウンロードを完了するのに必要な推定時間と、コピーする必要があるデータの量をクライアントに提供する必要があります。

PHP では、必要なすべての情報を計算できます。ただし、この情報でクライアントを定期的に更新する方法は?

理想的には、PHP スクリプト内から JavaScript 変数を動的に更新したいと考えています。これは不可能だと読みましたが、その場合、どのようなオプションがありますか?

私の頭に浮かぶ可能性:

  • 進捗情報を取得するために、JavaScript 内から PHP スクリプトに通常の AJAX 呼び出しを行う必要がありますか?
  • まだ知られていない COMET の方法論を勉強する必要があります

上記の 2 つの可能性は理にかなっていますか? 他に利用可能なより実用的なソリューションはありますか?

前もって感謝します。

4

1 に答える 1

1

はい、どちらのオプションも理にかなっています。

さまざまな COMET スタイルの手法がたくさんありますが、最も単純なものの 1 つは長時間実行さiframeれる . 操作の進行状況を監視し、定期的に次のような出力を行う PHP ページがあります。

<script>parent.updateProgress(relevantUpdateInfo);</script>

...relevantUpdateInfoは進行状況に関する情報であり、UI で更新された情報を表示するupdateProgressを含むページ上のグローバル関数です。iframe

scriptタグを出力する場合は、必ずflush出力してください。

于 2013-10-27T08:59:41.530 に答える