2014-10-07 28 views
1

每這篇文章: https://stackoverflow.com/a/17548609/985704jQuery的。當多個Ajax請求,響應爲了

使用jQuery.when可以執行多個同步Ajax請求。

var requests = Array(); 
requests.push($.get('responsePage.php?data=foo')); 
requests.push($.get('responsePage.php?data=bar')); 

var defer = $.when.apply($, requests); 
defer.done(function(){ 

    // This is executed only after every ajax request has been completed 

    $.each(arguments, function(index, responseData){ 
     // "responseData" will contain an array of response information for each specific request 
    }); 

}); 

當所有請求都完成後,我可以確定參數($ .each)與請求的順序相同嗎?這是記錄在某處嗎?如果我不確定,你推薦什麼?

+1

是的。 「_傳遞給doneCallbacks的參數爲每個Deferreds提供解析值,並將Deferreds傳遞給jQuery.when()的順序進行匹配。」​​_api.jquery.com/jQuery.when/ – 2014-10-07 16:22:33

+0

輝煌- 謝謝! – egret 2014-10-07 17:14:16

回答

1

Per JasonP:(謝謝)

是的。 「傳遞給doneCallbacks的參數爲每個Deferreds提供解析值,並將Deferreds傳遞給jQuery.when()的順序進行匹配。」 api.jquery.com/jQuery.when -