【发布时间】:2013-06-02 02:36:39
【问题描述】:
我有一个for循环语句,每个循环都会执行一个ajax调用。
$.each(arr, function(i, v) {
var url = '/xml.php?id=' + v;
$.ajax({
url: url,
type: 'GET',
dataType: 'xml',
success: function(xml) {
if ($(xml).find('Lists').attr('total') == 1) {
// some code here
}
},
complete: function() {
// some code here
}
})
})
我想在循环下allajax调用完成后运行代码,我尝试将下面的代码放在最后一行,ajax调用完成时它不执行
if (i == arr.length - 1) {
// some code here
}
因此,如果我有 10 次循环,则有 10 次 ajax 调用。我想在完成 10 次 ajax 调用后运行代码,有什么想法吗?
是用.ajaxComplete()还是.done()来实现更好?
谢谢
【问题讨论】:
-
我认为你需要使用ajaxQueue,试试这个链接gist.github.com/gnarf37/1039247