私のページは、バックグラウンドでいくつかの HTTP リクエストを送信します。リクエストは、いくつかのユーザー アクションによってトリガーされます。一部のユーザー アクションはリダイレクトを引き起こす可能性があります。ここで問題があります。すべてのリクエストが送信された場合にのみリダイレクトを発生させたいのです。
質問は次のとおりです。すべてのレポートが送信されるのを待ち、その後にのみリダイレクトをトリガーできる、推奨できる Javascript ライブラリはありますか?
私のページは、バックグラウンドでいくつかの HTTP リクエストを送信します。リクエストは、いくつかのユーザー アクションによってトリガーされます。一部のユーザー アクションはリダイレクトを引き起こす可能性があります。ここで問題があります。すべてのリクエストが送信された場合にのみリダイレクトを発生させたいのです。
質問は次のとおりです。すべてのレポートが送信されるのを待ち、その後にのみリダイレクトをトリガーできる、推奨できる Javascript ライブラリはありますか?
jqueryを使用すると、すべてのAJAX 呼び出しが完了した (保留中の接続がなくなった)ajaxStop
ときにトリガーされるイベントを利用できる可能性があります。例を次に示します。
$(document).ajaxStop(allDone);
function allDone() {
console.info("Now redirecting");
}
$.getJSON('/echo/json/', function() {
console.info("First done");
$.getJSON('/echo/json/', function() {
console.info("Third done");
});
});
$.getJSON('/echo/json/', function() {
console.info("Second done");
});
応答の順序に関係なく、allDone()
コールバックは常に最後に実行されます。
(AJAX)オブジェクトをチェーンできるjQuery Deferredパターンを使用したい
すべてが正常に完了した場合、成功のコールバックがあります
いずれかのリクエストが失敗した場合の失敗コールバックがあります
http://api.jquery.com/category/deferred-object/
例: