0

$.get()Jquery を使用して実行時間の長いインポート スクリプトを呼び出そうとするページがあります。このスクリプトでは、プロセスの進行状況でデータベースを更新します(i.e. 2%, 4% etc)$.get()最初の呼び出しが発生する前に setTimeout を介してセットアップされる別の呼び出し (進行状況を確認するため) があります$.get()

私が抱えている問題は$.get()、長時間実行されているインポートが戻るまで、進行状況を確認するための呼び出しが返されないこと$.get()です。それらは非同期である必要があるため、これは正しくないようです。

私が見る限り、「進行状況の確認」URL は、Firefox 内の新しいタブで起動するとハングしますが、これを Chrome にロードするとすぐに戻ります。私の知る限り、Firefox はホスト名ごとに複数の AJAX 呼び出しを問題なく実行できるはずです。

開発者ツールが有効になっている Chrome では、最初の呼び出しが完了するまで、「進行状況の確認」URL 呼び出しが「保留中」と表示されます。

両方のリクエストを非同期に実行するにはどうすればよいですか?

4

1 に答える 1

1

セッションを使用しますか?もしそうなら、長いスクリプトでセッションを閉じていない間、他の人はそれを待ちます。

常にそこにセッションが必要ない場合は、次のコマンドで閉じることができますsession_write_close()

これは私の他の回答の完全なコピーですhttps://stackoverflow.com/a/6405685/251311

于 2013-05-17T00:17:17.717 に答える