回调返回一个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