Jquery 嵌套的$.getJSON,调用无效
我需要通过jQuery的getJSon函数执行两个ajax调用 问题是,一旦执行了其中一个调用并且data.flag为true,就调用第二个getJSon函数,因为我需要第一个调用的结果作为第二个调用的条件。 但是当函数运行时,代码alert3无法执行 任何帮助都将不胜感激。AFAIK.getJSON应该可以 您可以在下面尝试我的代码版本,不过老实说,我所做的只是为了提高效率而重新安排代码,并进一步保证内部.getJSON与外部的相同,但有必要进行更改。嵌套和结构在其他方面是相同的 javascript:Jquery 嵌套的$.getJSON,调用无效,jquery,ajax,json,getjson,Jquery,Ajax,Json,Getjson,我需要通过jQuery的getJSon函数执行两个ajax调用 问题是,一旦执行了其中一个调用并且data.flag为true,就调用第二个getJSon函数,因为我需要第一个调用的结果作为第二个调用的条件。 但是当函数运行时,代码alert3无法执行 任何帮助都将不胜感激。AFAIK.getJSON应该可以 您可以在下面尝试我的代码版本,不过老实说,我所做的只是为了提高效率而重新安排代码,并进一步保证内部.getJSON与外部的相同,但有必要进行更改。嵌套和结构在其他方面是相同的 javasc
function dispatchVehicle(){
if(!chickAll()){
return false;
}
var action = window.url + '?&method=dispatchVehicles'
+ "&conLclFlag=" + conLclFlag
+ "&containerId=" + containerId
+ "&vehicleNameFlag=1"
+ "&t=" + (new Date()).getTime();
jQuery.getJSON(action, $('#vehicleForm').serialize(), function(data) {
if(data.flag){
if (window.confirm(data.message)) {
alert(1);
var action1 = window.url + '?&method=dispatchVehicles'
+ "&conLclFlag=" + conLclFlag
+ "&containerId=" + containerId
+ "&vehicleNameFlag=2"
+ "&t=" + (new Date()).getTime();
alert(2);
jQuery.getJSON(action1, $('#vehicleForm').serialize(), function(data1) {
alert(3);
if(!data1.flag){
alert(data1.message);
}
if (data1.succ) {
window.parent.location.reload();
window.parent.ClosePop();
}
});
}
}
if (data.succ) {
window.parent.location.reload();
window.parent.ClosePop();
}
});
}
不要嵌套它,而是尝试设置回调数组。action1的字符串是什么。你能在frebug中发布javascript错误吗
function dispatchVehicle(){
if(!chickAll()){
return false;
}
var action = window.url + '?' + $('#vehicleForm').serialize();//reusable string
var dataObj = {//reusable object
method: 'dispatchVehicles',
conLclFlag: conLclFlag,
containerId: containerId,
vehicleNameFlag: 1,
t: (new Date()).getTime()
};
$.getJSON(action, dataObj, function(data) {
if(data.flag){
if (window.confirm(data.message)) {
alert(1);
//now reuse action and dataObj with a couple of changed properties
dataObj.vehicleNameFlag = 2;
dataObj.t = (new Date()).getTime();
alert(2);
$.getJSON(action, dataObj, function(data1) {
alert(3);
if(!data1.flag){
alert(data1.message);
}
if (data1.succ) {
window.parent.ClosePop();
window.parent.location.reload();
}
});
}
}
if (data.succ) {
window.parent.location.reload();
window.parent.ClosePop();
}
});
}