当从这个问题完成“所有”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...
});
答案 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] });
});