我想在成功函数中创建一个ajax请求,但我需要传递一个不同的'guidlist'。
$.ajax({
url: "my.ashx",
datatype: 'json',
type: 'post',
data: {
cmd: 3, //poll database for job status
guidlist: guidList
},
success: function(){
$.ajax(this);<-all the same except I need to change what i am passing in for guidlist
}
})
答案 0 :(得分:0)
我猜你的脚本会返回你要传递给另一个ajax调用的json。所以试试这个:
function myAjaxSend(param) {
$.ajax({
url: "my.ashx",
datatype: 'json',
type: 'post',
data: {
cmd: 3, //poll database for job status
guidlist: param
},
success: function(json) {
// condition to prevent infinit loop
if(json.otherParam !== undefined) {
myAjaxSend(json.otherParam);
}
}
})
}
答案 1 :(得分:0)
创建一个发送请求的函数 - 然后从success
处理程序中递归调用它。但要注意避免无限循环。
function sendRequest(param) {
$.ajax({
url: "my.ashx",
datatype: 'json',
type: 'post',
data: {
cmd: 3, //poll database for job status
guidlist: param
},
success: function(){
if(param == [something])
sendRequest(newParam);
}
});
}
sendRequest(guidList);
答案 2 :(得分:0)
关键是在第一个ajax调用的success函数内进行第二次ajax调用。此外,如果需要,可以在第二个ajax调用中引用从第一个ajax调用接收的数据。请参阅下面的示例:
$.ajax({
url: "my.ashx",
datatype: 'json',
type: 'post',
data: {
cmd: 3, //poll database for job status
guidlist: guidList
},
success: function(whatigotback) {
$.ajax({
url: "my.ashx",
datatype: 'json',
type: 'post',
data: {
cmd: 3, //poll database for job status
guidlist: whatigotback
},
success: function(newgotback){
//alert(newgotback);
} //END 2nd success
}); //END second AJAX
} //END 1st success callback
}); //END first AJAX
答案 3 :(得分:0)
只需在再次发送之前修改该选项。
$.ajax({
url: "my.ashx",
datatype: 'json',
type: 'post',
data: {
cmd: 3, //poll database for job status
guidlist: guidList
},
success: function(){
this.data.guidlist = anotherguidlist;
$.ajax(this);
}
})