我的页面在后台发送多个HTTP请求。这些请求由某些用户操作触发。某些用户操作可能会导致重定向 - 这里我们遇到了一个问题:我们希望重定向仅在发送所有请求时发生。异步http请求服务
现在的问题是:是否有任何Javascript库,你可以推荐,这将允许等待所有的报告发送并触发重定向后才?
我的页面在后台发送多个HTTP请求。这些请求由某些用户操作触发。某些用户操作可能会导致重定向 - 这里我们遇到了一个问题:我们希望重定向仅在发送所有请求时发生。异步http请求服务
现在的问题是:是否有任何Javascript库,你可以推荐,这将允许等待所有的报告发送并触发重定向后才?
你想使用jQuery递延模式,它允许您链(AJAX)对象和
有成功的回调,如果全部完成成功地
有如果任何请求失败
失败回调http://api.jquery.com/category/deferred-object/
例子:
随着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()
回调总是在最后执行。
您正在使用AJAX(jQuery的?)? – 2012-07-08 09:58:17