首页 > 解决方案 > 图表没有从它从 Jquery 收到的值更新

问题描述

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

标签: javascriptajaxdjangochart.js

解决方案


您来自 API 的响应是具有数据属性的对象,而不仅仅是具有结果的数组

$.getJSON("/dashboard/", function(response, status)
        {
            chart.data.datasets[0].data = response.data;
            chart.update();
        } 

推荐阅读