【发布时间】:2016-08-03 08:41:40
【问题描述】:
我有一个 ajax 请求,它获取一些数据,然后将其拆分为一个数组。数组长度可变。
var ajax1 = $.ajax({
url: 'myurl.php',
type: "GET",
dataType: "jsonp",
success: function (data) {
//create an array
}
});
一旦我有了数组,我想遍历它并在每次迭代中运行另一个 AJAX 请求。我将它放在 $.when 中以确保初始 ajax 请求已完成:
$.when(ajax1).done(
function() {
for (i = 0; i < array.length; ++i) {
$.ajax({
url: 'anotherurl?=' + myarray[i],
type: "GET",
dataType: "jsonp",
success: function (data) {
//do stuff here
}
});
}
}
)
我的问题是,当 for 循环完成所有 AJAX 请求时,我怎样才能弹出一个消息框?循环结束时的简单alert('complete') 将不起作用,因为 AJAX 是异步完成的。
【问题讨论】:
-
更好的解决方案是最多执行 2 次 ajax 调用
标签: javascript jquery ajax