我想調用一個頁面上每個選定複選框的ajax函數。一旦所有這些ajax調用完成,我想要做其他事情。在下面的示例中,在完成任何「單個呼叫」文本之前,將「全部呼叫完成」文本寫入控制檯。我如何等待所有ajax調用完成?謝謝!!jQuery延期循環
function ajax_function() {
return $.ajax({
url: "submit.php",
type: "POST",
dataType: "json",
data: form_data,
cache: false
})
}
var deferreds = $('input:checkbox:checked.checkprint').map(function(i, elem) {
$.when(ajax_function()).then(function(data) {
console.log('single call completed');
return data;
});
});
$.when.apply($, deferreds.get()).done(function() {
console.log('all calls completed');
});
IMO這是在每一個複選框,點擊發送數據的壞主意,你可以當用戶點擊這個按鈕讀放一個按鈕,所有這些值並將其發送到服務器。 – 2013-02-21 04:51:12