我的页面在后台发送了几个HTTP请求。请求由某些用户操作触发。某些用户操作可能导致重定向 - 这里我们遇到了一个问题:我们希望只有在发送了所有请求时才会发生重定向。
问题是:您是否可以推荐任何可以等待发送所有报告的Javascript库,并且仅在之后触发重定向?
答案 0 :(得分:0)
使用jquery,您可以利用ajaxStop
事件,该事件在所有 AJAX调用完成时触发(不再有待处理的连接)。 Here is an example:
$(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()
回调总是最后执行。
答案 1 :(得分:0)
您想使用jQuery延迟模式,它允许您链接(AJAX)对象和
如果成功完成
如果任何请求失败,则会失败回调
http://api.jquery.com/category/deferred-object/
示例: