图表未从Jquery接收到的值更新

时间:2019-04-16 08:21:56

标签: javascript ajax django chart.js

用例: 我正在尝试根据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

但是这不会更新我的图表。

图表不显示任何值,没有任何错误

Output of above code

当我按如下所示对值进行硬编码时,图表将得到更新。

$.getJSON("/dashboard/", function(data, status)
        {

            var test_data=data
            console.log(test_data)
            chart.data.datasets[0].data=[500,200,50];
            chart.update();
        } 

硬编码后的值 After hard coded 我在这里想念的窍门是什么?

更新

问题是我没有在功能中使用Ajax的响应,我已经更新了如下代码,并且可以正常工作

$.getJSON("/dashboard/", function(response, status)
        {

            chart.data.datasets[0].data=response.data;
            chart.update();
        }
        )

2 个答案:

答案 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;

访问所需的数组。