在寻找类似于此处所述的解决方案时: How to chain ajax calls using jquery 我正在寻找使用jquery v1.52的解决方案。
我有一组ajax请求。但是只有在完成前一个ajax调用后才会发送每个ajax请求。我试图用jquery 1.5.2实现这一点,但是无法做到。 Here是我从上述示例中修改的内容。这是行不通的。任何人都可以帮我搞定这个吗?预期输出为http://jsfiddle.net/k8aUj/3/
P.S:我无法升级到超过1.5.2的版本
答案 0 :(得分:4)
哟!解决了! http://jsfiddle.net/sandhyasriraj/AaHZv/
var x = null;
var i = 0;
x= $.Deferred();
var countries=["US","CA","MX","bx","fs","ZX"];
function log(msg) {
var $out=$("<div />");
$out.html(msg);
$("#console").append($out);
}
callX = function(j) {
return $.ajax({
type: "GET",
url: "/echo/json/",
data: {country:countries[i]},
dataType: "JSON",
success: function(){
log("Successful request for [" + countries[j] + "]");
i++;
x.resolve();
xy();
}
});
}
x.resolve();
xy = function()
{
debugger;
if(i > 5)
return;
$.when(x).then(function() {
x = $.Deferred();
log("Making request for [" + countries[i] + "]");
callX(i);
});
}
xy();
这就是你想要的吗?