我有以下問題:循環之前執行的循環中的AJAX調用結束
我有一個循環:
// Code A
. . .
for (var key in dict){
// Code B
. . .
var list = this.initializeList();
var selfRef = this;
jQuery.ajax({
dataType: 'json',
url: '/someUrl',
data: {'sent_data': sendData},
success: function (recievedData){
this.function(list);
}
});
// Code C
. . .
}
// Code D
. . .
現在,這種理想的方式是,如果執行的順序代碼是:
- 代碼A
- for循環:
- 碼B
- AJAX
- 代碼C
- 代碼d
但是,問題是,在步驟2中的循環:第一,碼B被執行,並且下一個 - 的AJAX調用,然後再次使用AJAX代碼而不是代碼C。在下一次迭代中,AJAX代碼再次執行,而不是代碼B.對於我來說執行的順序如上所述,對我來說非常重要。正如你所見,變量列表應該爲每個循環重新初始化,但相反,我們有多個AJAX調用只有第一次初始化。
我該如何解決這個問題?
這是bcoz .. Ajax是異步的 –
重新組織它,以便循環和發送30個Ajax請求,而不是循環並創建30條數據併發送1個Ajax請求。 –
你需要使你的Ajax請求順序,就像第一個完成後發送第二個請求 –