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

时间:2013-10-07 08:08:41

标签: jquery ajax

我正在尝试一些简单的方法,即将变量设置为jquery ajax调用的结果,我将其设置为NON同步。

到目前为止所有尝试都返回undefined,我不知道为什么。

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

这是我的基本代码:

$(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;
        }
    });
}

在成功函数中获取值,并且在返回之前存在chartValues。但原始电话没有数据。

不确定为什么以及我需要做什么?

0 个答案:

没有答案