用例: 我正在尝试根据Jquery提取的数据填充图表。
$.getJSON("/dashboard/", function(data, status)
{
var test_data=data
console.log(test_data)
chart.data.datasets[0].data=test_data;
chart.update();
}
console.log(test_data)
的输出 data: Array(3)
0: 500
1: 200
2: 50
length: 3
但是这不会更新我的图表。
图表不显示任何值,没有任何错误
当我按如下所示对值进行硬编码时,图表将得到更新。
$.getJSON("/dashboard/", function(data, status)
{
var test_data=data
console.log(test_data)
chart.data.datasets[0].data=[500,200,50];
chart.update();
}
更新
问题是我没有在功能中使用Ajax的响应,我已经更新了如下代码,并且可以正常工作
$.getJSON("/dashboard/", function(response, status)
{
chart.data.datasets[0].data=response.data;
chart.update();
}
)
答案 0 :(得分:2)
您从API得到的响应是具有数据属性的对象,而不仅仅是具有结果的数组
$.getJSON("/dashboard/", function(response, status)
{
chart.data.datasets[0].data = response.data;
chart.update();
}
答案 1 :(得分:0)
您的test_data
当前是一个对象。您需要使用
var test_data=data.data;
访问所需的数组。