从 AJAX 返回数组
return array from ajax
我在Chartjs上工作,并从ajax获取json:
var myData = [];
$.ajax({
method: "GET",
cache: false,
url: "charts/applieschart.php",
success: function (data) {
myData = data;
}
});
接下来在 2 个不同的数组上解析它们:
var chartjsLabel = [];
var chartjsData = [];
for (var i = 0; i < myData.length; i++) {
chartjsData.push(myData[i].count);
chartjsLabel.push(myData[i].date);
}
比我把它放在标签和数据中:
var barChartData = {
labels: chartjsLabel,
datasets: [{
fillColor: "rgba(220,280,220,0.5)",
strokeColor: "rgba(220,220,220,1)",
data: chartjsData
}]
};
看起来不错,但它不起作用。我的 json 数据如下所示:
[{"date":"12.2014","count":"62"},{"date":"11.2014","count":"58"}]
如果我用myData
变量中的清除 JSON 替换 ajax:
var myData = [{"date":"12.2014","count":"62"},{"date":"11.2014","count":"58"}];
它完美地工作。我做错了什么?
您不能从
ajax
返回,因为它本质上是asynchronous
,使用callback
函数或在 ajax 成功处理程序中初始化barChartData
。
试试这个:
$.ajax({
method: "GET",
cache: false,
url: "charts/applieschart.php",
success: function(myData) {
var chartjsLabel = [];
var chartjsData = [];
for (var i = 0; i < myData.length; i++) {
chartjsData.push(myData[i].count);
chartjsLabel.push(myData[i].date);
}
var barChartData = {
labels: chartjsLabel,
datasets: [{
fillColor: "rgba(220,280,220,0.5)",
strokeColor: "rgba(220,220,220,1)",
data: chartjsData
}]
};
}
});
相关文章:
- 对象数组返回自最近日期以来的最高总体值
- 从多维数组返回嵌套数组
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- 如何将 AJAX 响应作为 JavaScript 数组返回
- 我正在尝试在 JS 中制作这个随机名称生成器.数组返回未定义
- .push() 多个对象进入 JavaScript 数组返回 'undefined'
- 如何按属性从可观察数组返回项
- 通过jquery发送的关联php数组返回[对象对象]
- 从 Javascript 中的对象数组返回单个属性的数组
- 循环遍历对象数组返回“未定义”
- 拼接数组返回空的序列
- Javascript 多维数组返回第一个值,然后失败
- Json 数组返回空值
- 从下划线.js中的数组返回一系列值
- for 语句不从数组返回值
- MongoDB从数组返回特定字段
- 试图将数组返回到表中的列表中
- Javascript中的二维数组返回未定义的数组
- 将函数数组作为布尔值数组返回