3

多数の ajax 呼び出し (正確な数は可変) を行い、それらがすべて完了するのを待つ必要があります。私の現在のコードは次のとおりです。

ajaxRequests = new Array();

ajaxRequests.push(function(){
                return jQuery.post(url: "someUrl",
                                    dataType: "json",
                                    data:  yourJsonData
            });



jQuery.when.apply(jQuery, ajaxRequests).done(function(){
    alert("ajax requests done");
});

残念ながら、上記のコードは ajax リクエストが完了するのを待っていません。どんな助けでも大歓迎です。

4

1 に答える 1

4

答えは以下のとおりです:可変数の引数でトラブルシューティングを行う場合、jQueryからコピー

// Array of requests
var requests = Array();
requests.push($.get('responsePage.php?data=foo'));
requests.push($.get('responsePage.php?data=bar'));

var defer = $.when.apply($, requests);
defer.done(function(){

    // This is executed only after every ajax request has been completed

    $.each(arguments, function(index, responseData){
        // "responseData" will contain an array of response information for each specific request
    });

});
于 2013-06-26T21:18:27.783 に答える