簡體   English   中英

使用jquery延遲對象鏈接多個ajax調用

[英]Chaining multiple ajax calls with jquery deferred objects

在尋找類似於此處描述的解決方案時: 如何使用jquery鏈接ajax調用我正在尋找使用jquery v1.52的解決方案。

我有一組ajax請求。 但是只有在完成前一個ajax調用后才會發送每個ajax請求。 我試圖用jquery 1.5.2實現這一點,但是無法做到。 是我從上面提到的例子中修改的內容。 這是行不通的。 任何人都可以幫我搞定這個嗎? 預期的輸出是http://jsfiddle.net/k8aUj/3/

PS:我無法升級到超過1.5.2的版本

呦! 解決了! 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();

這是你想要的嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM