Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 返回ajax数组的回调不起作用?_Jquery Ui_Jquery - Fatal编程技术网

Jquery ui 返回ajax数组的回调不起作用?

Jquery ui 返回ajax数组的回调不起作用?,jquery-ui,jquery,Jquery Ui,Jquery,回调总是空的 // calling the function var returnArray = getArrayData(fileName, function(data) { return data; }) alert(returnArray); // output says undefined function getArrayData(fileName, callback) { var arrayData = []; $.getJSON("sendRequestF

回调总是空的

// 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
}​

Ajax是异步的,在完整回调中运行回调

$.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是异步的,在完整回调中运行回调

$.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是异步的,您的警报方法在AJAX完成之前执行。请在代码上方解释您的问题。AJAX是异步的,您的警报方法在AJAX完成之前执行。请在代码上方解释您的问题。