我的頁面在後臺發送多個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