我想根据我的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')
这是对的吗?我需要根据每个请求的响应提出额外的请求。
谢谢
答案 0 :(得分:1)
是的,这是正确的。第二个POST
将在第一个完成后运行。
或者,您可以使用jQuery的$.queue
和$.dequeue
建立队列,并使用$.data
存储变量。您也可以使用AJAX Queue插件(谷歌为他们),我不使用任何,所以我不能建议。
//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');