【发布时间】:2016-08-26 20:49:18
【问题描述】:
我正在使用 ajax 调用从数据库中检索值,然后尝试将这些值插入到数组中(全局声明)。但是在被调用函数之外,如果我试图检查数组的值,它会显示空数组。这是我的代码:
function functionName() {
var arr1 = [];
var arr2 = [];
$(function() {
$.ajax({
url: "RandomURL",
data: {
some random data
}
}).done(
function(data) {
console.log(data.data);
for (var i = 0; i < data.data.length; i++) {
arr1.push({
x: data.data[i][0],
y: data.data[i][1]
});
arr2.push({
x: data.data[i][0],
y: data.data[i][2]
});
}
});
});
console.log(arr1);
console.log(arr2);
return [{
values: arr1,
key: 'array1 values',
color: '#ff7f0e'
}, {
values: arr2,
key: 'arr2 values',
color: '2ca02c'
}];
}
【问题讨论】:
-
尝试在 ajax 回调中移动
console.log。 -
ajax 是异步的。你不能像那样从 ajax 返回值
-
你在这里做了什么?你在 functionName() 里面写了 $(function()) ??
-
你能告诉我如何返回数组值吗?我必须将数组传递给另一个函数以使用 nvd3 库绘制图形
标签: javascript jquery ajax multidimensional-array