2014-10-07 32 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 -