2012-02-25 9 views
1

完全に実行するのを待つのではなく、進行状況のスクリプトユーザーを更新しようとしています。

たとえば、特定のメッセージ(REST Webサービス)を取得するために別のWebリンクを呼び出しています。

私は10-20のURLを呼び出す必要があるかもしれません。したがって、取得したURLの状態をユーザーに更新し、10-20の完了を待たずにします。PHPスクリプト(バッファ)で現在の進捗状況を出力していますか?

は、次のことをしようとしました:

ob_start(); 

while(xxx): 
    $result = call_url($url); // my custom function of performing web service call 
    echo $result; 
    ob_flush(); 
endwhile; 

は期待.... 任意の手掛かりをしませんか?

+0

はなぜ「ENDWHILE」を使用している観察者に供給できることをすべてのループの繰り返しの後にファイルにいくつかの良いメタデータを書き込むことができますし、括弧ではない? –

+0

優先事項のみ。 –

答えて

2

このループを実行すると、ブラウザへの印刷は非同期ではありません。ループが完了した時点でのみ印刷されることがあります。

Ajax Queueとして使用し、これらの呼び出しを1つずつ呼び出すことをお勧めします。 Ajaxは、ユーザーを更新できるだけの方法で非同期です。

それとも、あなたは再びAjax呼び出し、そのファイルを読み込み、ユーザーに進行状況を表示する

関連する問題