回调返回一个Ajax数组不工作?

回调总是空回调返回一个Ajax数组不工作?

// calling the function 

var returnArray = getArrayData(fileName, function(data) {

return data;

})

alert(returnArray); // output says undefined

function getArrayData(fileName, callback) {

var arrayData = [];

$.getJSON("sendRequestFile", {

fileContent: fileName

}, function(data) {

$.each(data, function(index, value) {

if (value === "false") {} else if (value === "") {} else {

arrayData[index] = value;

}

});

alert(arrayData); // see data without no problems

});

alert(arrayData); // empty

callback(arrayData); // undefined

}​

回答:

阿贾克斯是异步的,完整的回调中运行的回调。

$.getJSON("sendRequestFile", { 

fileContent: fileName

}, function(data) {

$.each(data, function(index, value) {

if (value === "false") {} else if (value === "") {} else {

arrayData[index] = value;

}

});

callback(arrayData); // worky

});

//alert(arrayData); // empty

//callback(arrayData); // undefined​

以上是 回调返回一个Ajax数组不工作? 的全部内容, 来源链接: utcz.com/qa/261055.html

回到顶部