Lee*_*Lee 6 javascript arrays ajax jquery
我有一个值数组(myarray),我想迭代并在每次迭代时运行一个AJAX请求.我已将每个ajax请求放在另一个数组(requests)中,以便我可以alert在所有AJAX请求完成时调用:
像这样:
var requests = [];
for (i = 0; i < myarray.length; ++i) {
requests.push($.ajax({
url: 'anotherurl?=' + myarray[i],
dataType: "JSONP",
success: function (data) {
array_of_results.push(data);
}
}));
}
$.when.apply($, requests).done(function() {
alert('complete');
});
Run Code Online (Sandbox Code Playgroud)
收集所有结果array_of_results.但是由于AJAX请求需要不同的时间来完成,因此该数组不具有原始顺序的结果.
有没有办法订购这个阵列?
我希望我有道理.我很欣赏这是非常复杂的.
你试过以下吗?我认为这应该有效.所有答复都应按顺序提供,并在成功函数中使用when().
var requests = [];
for (i = 0; i < myarray.length; ++i) {
requests.push($.ajax({
url: 'anotherurl?=' + myarray[i],
dataType: "JSONP"
}));
}
$.when.apply($, requests).done(function() {
array_of_results = arguments;
alert('complete');
});
Run Code Online (Sandbox Code Playgroud)