Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 ajax success函数返回未定义的变量_Jquery_Ajax - Fatal编程技术网

jquery ajax success函数返回未定义的变量

jquery ajax success函数返回未定义的变量,jquery,ajax,Jquery,Ajax,我正在尝试一件简单的事情,就是为jqueryajax调用的结果设置一个变量,我已经将其设置为非同步 到目前为止所有的尝试都没有定义,我不知道为什么 我知道我不能使用同步调用,因为在返回结果之前,代码会继续运行 这是我的基本代码: $(document).ready(function() { var test = visitorData(); console.info(test); }); 还有ajax调用: function visitorData() { var chart

我正在尝试一件简单的事情,就是为jqueryajax调用的结果设置一个变量,我已经将其设置为非同步

到目前为止所有的尝试都没有定义,我不知道为什么

我知道我不能使用同步调用,因为在返回结果之前,代码会继续运行

这是我的基本代码:

$(document).ready(function() {
    var test = visitorData();
    console.info(test);
});
还有ajax调用:

function visitorData() {

var chartValues = [];
var chartLabels = [];

//console.info("chartValues:"+chartValues);
//return "TEST";
$.blockUI({message: '<h1><img src="/img/icons/icon_loading_red.gif" /> Please wait - grabbing data...</h1>'});

$.ajax({
        url: '/visitdata',
        type: 'GET',
        async: false,
        dataType: "json",
        success: function (data) {
            visitors = data;
            console.warn(data);
            for (var k in visitors){
                if (typeof visitors[k] !== 'function') {
                    chartValues.push(visitors[k].average_order);
                }
            }

            console.info(chartValues);
            return chartValues;
        }
    });
}
函数visitorData(){
var chartValues=[];
var chartLabels=[];
//控制台信息(“chartValues:+chartValues”);
//返回“测试”;
$.blockUI({消息:“请稍候-正在获取数据…”);
$.ajax({
url:“/visitdata”,
键入:“GET”,
async:false,
数据类型:“json”,
成功:功能(数据){
访客=数据;
控制台。警告(数据);
用于(访客中的var k){
if(访客类型[k]!==“功能”){
chartValues.push(访客[k]。平均订单);
}
}
控制台信息(图表值);
返回图表值;
}
});
}
在success函数中获取值,返回之前存在chartValues。但原始调用没有提供任何数据


不知道为什么以及我需要做什么?

可能与我正在努力阅读的这篇文章中找到的更多信息重复,所以我认为答案就在那里。稍后将结束此问题。抱歉,重复了。请尝试使用Fiddler工具查看/visitdata返回的内容