同時 jQuery AJAX リクエストの管理
複数の同時 AJAX リクエストを処理する場合、すべてのリクエストが完了するまで実行を一時停止する必要がある場合があります。これにより、後続の操作がすべてのリクエストから取得されたデータに依存するようになります。
解決策: jQuery の $.when 関数を利用する
jQuery には、$.when という便利な関数が導入されています。複数の Deferred オブジェクトを引数 (進行中の AJAX リクエストを表す) として受け取り、それらがすべて解決されるとコールバック関数を実行します。
実装
すべての AJAX の後でアクションを実行するにはリクエストが完了しました:
$.when(ajax1(), ajax2(), ajax3(), ajax4()).done(function(a1, a2, a3, a4){ // Code to be executed after all requests resolve });
ここでは、ajax1()、 ajax2()、ajax3()、および ajax4() は、AJAX リクエストを表す Deferred オブジェクトを返す関数です。
AJAX 関数の例
function ajax1() { return $.ajax({ url: "someUrl", dataType: "json", data: yourJsonData }); }
利点使用の$.when
以上が同時の jQuery AJAX リクエストを管理し、続行する前にすべてが完了していることを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。