我正在使用以下代码从多个网址获取JSON.但是,当其中一个URL失败或获得404响应时,执行功能不起作用.我读了jquery doc,我知道“then”应该执行,无论其中一个调用失败了.
var data = {};
var calls = [];
for (var i in funcs) {
calls.push(
$.getJSON(base_url+i,(function(i) {
return function(d) {
data[i] = d;
};
}(i))
)
);
}
$.when.apply($,calls).then(function() {
do_something(data);
});
最佳答案
看看always方法.它将在both cases执行.
例如:
例如:
$.when.apply($,calls).always(function() {
alert('Resolved or rejected');
});
响应成功的事务,参数与.done()相同(即a = data,b = jqXHR),对于失败的事务,参数与.fail()相同(即a = jqXHR,b = errorThrown). (c)