以下按順序使用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) {
<...some other operations...>
};
var name = "test1,test2,test3".split(",");
for (var i = 0; i < name.length ; i++)
{
doGetJson(name[i]);
}
是否有你需要按順序Ajax調用理由嗎? – ErikusMaximus
每個ajax調用的結果都是一個地圖圖層,它必須以特定順序添加到地圖中。 – firsttube