ページで選択したすべてのチェックボックスに対してajax関数を呼び出そうとしています。これらのajax呼び出しがすべて完了したら、別のことをしたいと思います。以下の例では、「すべての通話が完了しました」というテキストが、「単一の通話が完了した」というテキストの前にコンソールに書き込まれます。すべてのajax呼び出しが終了するまでこれを待機させるにはどうすればよいですか?ありがとう!!
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');
});