2011-01-28 18 views
1

私は私のAJAX呼び出しajaxレスポンスでjquery ajaxリクエストを作成できますか?

の応答に基づいて、いくつかのAJAX呼び出しをしたいと思い、この

$.post('test1.php', function(res) { 

    var processid = res.processid; 

    $.post('test2.php', id : processid, function (data){ 

     // do some stuff and make other ajax calls 
    }); 

},'json') 

のようなものは、この正しいですか?私は、それぞれのリクエストに対するレスポンスに基づいて追加のリクエストを行う必要があります。

ありがとうございました

+1

これはうまくいくはずです。 –

答えて

1

はい、正しいです。 2番目のPOSTは、1番目の完了後に実行されます。

または、jQueryの$.queue$.dequeueを使用し、$.dataを使用して変数を格納すると、キューを作成できます。また、AJAX Queueプラグイン(Google for them)を使用することもできます。私は何も使用しないので、私はそれを提案することはできません。

//Add POST 1 
$(document).queue('AJAX', function(next){ 
    $.post('test1.php', function(res){ 
     $(document).data('processid', res.processid); //We need to store this somewhere 
     next(); //Call next queued function (if any) 
    }, 'json'); 
}); 

//Add POST 2 
$(document).queue('AJAX', function(next){ 
    $.post('test2.php', 'id='+$(document).data('processid'), function (data){ 
    next(); //Call next queued function (if any) 
    }); 
}); 

// Start the queue 
$(document).dequeue('AJAX'); 
+0

クイック返信ありがとう。これを行うためのより良い方法はありますか?または私の要求を待ち行列に入れるライブラリ/プラグインをご利用いただけます – supa

+0

@supa:たくさんのプラグインがあります。ちょうどGoogleの "Ajax Queue"です。私はそれらを使用しないので、私はそれを提案することはできません。私はjQueryの '$ .queue'と' $ .dequeue'を使ってajaxキューを作った。 –

関連する問題