【发布时间】:2017-06-01 06:08:02
【问题描述】:
我有一个函数调用 ajax 来检索数据。我遇到的问题是进行嵌套的 ajax 调用,其中一个调用依赖于另一个调用,而 $.wait().then() 并没有真正起作用。我的问题有什么解决办法吗。这是一个例子......
function _Ajax(params){
if(params == ''){
alert('no post params');
return;
}
var xdata;
$.ajax({
type: "POST",
url: "/xml/",
async: false,
data: params,
dataType: "xml",
success: function(xml){
xdata = xml;
},
error: function() {
alert("An error occurred while processing XML file. Params:" + objToString(params));
}
});
return xdata;
}
function A(a,b){
_Ajax({a:a,b:b});
}
function B(a,b,c){
_Ajax({a:a,b:b,c:c});
}
function C(a,b){
A(a,b);
B(a,b);
}
function D(a,b){
_Ajax({a:a,b:b});
}
function E(){
$.when(C(a,b)).then{function(){ D(a,b);});
}
我还尝试将 async 更改为 true,但它完全失败而没有返回任何数据。 谢谢
【问题讨论】:
-
return xdata;不行 -
_Ajax应该返回$.ajaxA的结果,B等需要返回_Ajax的结果,而success需要在所有这些之外发生。 . 基本上看重复了,都在那里