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