我有這些ajax調用,當前一個成功時需要調用,這意味着一旦第一個ajax正常,調用第二個ajax,一旦第二個ajax正常調用第三個等等。我從一些ajax調用開始,所以可以像下面這樣將它們鏈接起來,但現在我有大約20個調用它們,將它們鏈接起來會是一團糟。當前一個完成時多個ajax調用
$.ajax({
url: 'urlThatWorks1',
success: function (data) {
//call someMethod1 with data;
$.ajax({
url: 'urlThatWorks2',
success: function (data) {
//call method2 with data;
//another ajax call ... so on
}
}.... 19 level deep
所以我需要使它有點易於閱讀和維護,所以我想這樣
var ajaxArray = [];
var function1 = $.ajax('urlThatWorks1', data I get back from the 'urlThatWorks1' call);
myArray.push(function1);
var function2 = $.ajax('urlThatWorks2', data I get back from the 'urlThatWorks2' call);
myArray.push(function2);
//etc 19 others
myArray.each(index, func){
//Something like $.when(myArray[index].call()).done(... now what?
}
希望這是有道理的,我在尋找Ajax調用數組從方式我可以調用一個ajax調用,我稱之爲數組中的下一個ajax。謝謝。
[如何返回從Ajax調用的響應?(HTTP的可能重複://計算器。 com/questions/14220321/how-to-return-the-a-ajax-call) – andrex 2014-09-19 14:25:22
將每個ajax調用包裝在一個函數中並在成功塊中調用該函數?這樣,你可以給每個塊一個有意義的函數名稱,並保持可讀性 – Turnip 2014-09-19 14:28:58
@ 3rror404這就是我的想法,但我如何管理myArray.each內? (myArray [index] .call())。done(... now what? – artm 2014-09-19 14:36:48