以下按顺序使用jQuery执行每个ajax调用。通话必须按顺序进行。我发现这个工作的唯一方法是使用异步:false,我知道这是弃用的,不应该使用。下面的代码遍历[name]数组中的每个元素并按顺序触发每个ajax请求。当我删除async:false时,ajax调用会失序,有时其中一个似乎根本不会触发。我认为ajaxComplete可能会帮助我,但我没有运气。有没有办法让这些Ajax调用顺序触发?JQuery - 强制多个ajax请求按顺序运行
function doGetJson(name1) {
var URL = 'http://some url/?name=' + name1;
$.ajax({
url : URL,
dataType : 'jsonp',
async: false,
jsonpCallback : 'getJson',
name: name1,
index: i,
success : handleJson
});
};
function handleJson(data) {
};
var name = "test1,test2,test3".split(",");
for (var i = 0; i < name.length ; i++)
{
doGetJson(name[i]);
}
+0
是否有你需要按顺序Ajax调用理由吗? –
+0
每个ajax调用的结果都是一个地图图层,它必须以特定顺序添加到地图中。 –