我正在尝试遍历选中复选框的 ID(包含 URL)。对于每个复选框,它会生成一个 AJAX-get,它会对数据库执行特定操作。这是可行的,但似乎并非所有 AJAX-gets 都被执行(重定向执行得太快)。
正如建议的那样,我尝试使用'$.when.apply',但是,这似乎不起作用。我在参数列表后得到一个“缺少的”,这肯定是在我推动 ajax-get 的部分生成的。
这是正确的方法还是我应该尝试另一种方法?
$("#marksolved").click(function () {
var ajaxrequests = [];
// Loop through checkboxes.
$('input:checked').each(function () {
// Each id of a checkbox contains an URL.
var markurl = $(this).attr('id');
// Do the request.
ajaxrequests.push($.ajax({
method: 'GET',
url: markurl,
cache: false
});
});
// Check if all requests have completed.
$.when.apply($, ajaxrequests).then(function () {
// All requests have completed. An ajax-redirect will eventually take place too fast...
alert('All actions done!');
});
});