每个jQuery Ajax请求完成后得到响应?

时间:2016-10-22 04:44:00

标签: javascript jquery ajax

当从这个问题完成“所有”Ajax请求时,我可以得到响应。

Wait until all jQuery Ajax requests are done?

虽然我无法找到一个问题,以便在每个Ajax完成时获得“每个”响应。

我该怎么做?

等待所有响应完成的示例,但我想在每个ajax完成时得到响应。

function translate(...){
    return $.ajax({
        // settings...
    });
});

var requests = [];
translatable_fields.each(function(){
    requests.push(translate(...));
});

$.when.apply($, requests).done(function(schemas) {
     console.log("All requests complete");
    // do something...
});

1 个答案:

答案 0 :(得分:0)

响应将传递给done的回调。每个AJAX调用都将获得自己的参数,每个参数将是响应的三个部分的数组:响应文本,状态以及与AJAX调用关联的jqXHR对象。 Documentation for $.when

您可以使用arguments object

一次性获取回复文本
$.when.apply($, requests).done(function() {
    var responses = $.map(arguments, function(arr) { return arr[0] });
});
相关问题