我希望我用正确的词来描述这个问题....在这里,我用一个属性和方法定义了一个名为TK的对象。
var TK = {
List: [],
getSectionA: function(listName) {
var arrayList = [];
TK.returnList = $.get(
'ajax/test.html',
{ sendName: listName },
function(data) {
}
);
}
};
调用函数
$("#dropDownList").change(function() {
TK.getSectionA(fileName);
//这里我试图摆脱下面的回调函数并在将回调返回数据(resultLists)分配给变量(TK.List)之后继续正常的代码执行,但是当我警告数组变量TK.List没有显示任何内容。
TK.List = TK.returnList.done(function(data) {
var resultLists = [];
$.each(data, function(index, value) {
if (value == "false") {
return false;
}
else if (value == "") {
return false;
}
else {
resultLists[index] = value;
}
});
return resultLists;
});
alert(TK.List.join("")) // not displaying
答案 0 :(得分:0)
只需将var resultLists = [];
视为全球。
然后在调用AJAX后设置计时器。一旦计时器到期,请执行
TK.List = resultsLists;
或者做这样的事情:
while(true){
if(resultLists.length > 0) {
break;
}
}
TK.List = resultLists;
但请确保在$.each
循环内部使用了局部变量,并仅在循环结束时分配给resultLists
。