我有一次多個ajax調用。一旦他們所有完成,我需要將用戶重定向到另一個頁面。等待一個Ajax調用的數組來完成
隨着this答案的幫助下,我創造了這個:
function verifyAll() {
var ajaxCalls = [];
$.each($('.thing'), function(index, thing) {
ajaxCalls.push(verifyOne($(thing).data('id'));
});
$.when(ajaxCalls).done(function() {
console.log('Done verifying all');
});
}
function verifyOne(id) {
return $.ajax({
type: 'GET',
url: 'verify.html'
}).done(function(data) {
console.log('Done verifying one');
//do something
});
}
然而,$.when().done()
功能被稱爲.done()
之前,呼籲個人阿賈克斯。有什麼我做錯了,還是有另一種方法來實現我的最終目標?
使用'$ .when'通過它的異步函數 –
公告的傳遞deferreds的陣列,以您的代碼之間的差值的陣列'當'和鏈接的代碼,通過一些參數 - 這是相關的 – Jamiec