chart is not getting updated from the values it received from Jquery

Use Case : I am trying to populate my chart based on the data fetched by Jquery.

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

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

output of console.log(test_data)

 data: Array(3)
    0: 500
    1: 200
    2: 50
    length: 3

However this is not updating my chart .

Chart displays no values, without any error

Output of above code

When i hard code the value as shown below , the chart is getting updated.

$.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 value After hard coded What is the trick i am missing here?

Update

The problem was that i was not using the response of Ajax in my fucntion, i have updated my code like below and it worked

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

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

Answers:

Answer

Your response from API is object with data property, not just array with results

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

Your test_data is currently an object. You need to use

var test_data=data.data;

to access the array which is required.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.