javascript - 图表未根据从 Jquery 收到的值进行更新

标签 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();
        }
        )

最佳答案

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

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

关于javascript - 图表未根据从 Jquery 收到的值进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55703619/

相关文章:

django - 如何验证对象是否存在于manytomany中

python - selenium(使用 python/django)无法启动 firefox 浏览器实例

javascript - document.addEventListener 不适用于加载事件

javascript - react : function comes back as undefined

javascript - setTimeout阻塞问题

javascript - 根据选择选项的值更改ajax url

javascript - ajax发布到php并没有真正写入mysql表

python - 使用 django-rest-framework 设置对象级权限

javascript - Angular JS - 如何清理 Controller 中的 HTML?

ajax - ExpressJS/Node ajax登录