来自json的chart.js中的未定义值

时间:2017-06-06 10:40:56

标签: javascript jquery json charts chart.js

我正在使用chart.js在条形图中显示数据。我的json响应已经准备就绪,但图表显示其未定义的值。

这里是json与json

    $(document).ready(function(){
    $.ajax({
        url: "<?php base_url();?>/charts/getsome",
        method: "GET",
        success: function(data) {
            console.log(data);
            var month = [];
            var customers = [];

            for(var i in data) {
                month.push("Customer in" + data[i].apply_month);
                customers.push(data[i].no_customers);
            }
            var chartdata = {
                labels: month,
                datasets : [
                    {
                        label: 'monthly customers',
                        backgroundColor: 'rgba(200, 200, 200, 0.75)',
                        borderColor: 'rgba(200, 200, 200, 0.75)',
                        hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
                        hoverBorderColor: 'rgba(200, 200, 200, 1)',
                        data: customers
                    }
                ]
            };

            // alert(chartdata);

            var ctx = $("#mycanvas");

            var barGraph = new Chart(ctx, {
                type: 'bar',
                data: chartdata
            });
        },
        error: function(data) {
            console.log(data);
        }
    });
});
下面的

是控制台

中json响应的快照

enter image description here

此处也是图表的快照

enter image description here

请指导我错在哪里。感谢

1 个答案:

答案 0 :(得分:1)

您正在以字符串形式获得响应。你应该使用JSON.parse(data)

进行解析
success: function(data) {
            console.log(data);
            data = JSON.parse(data)
            //the rest of your code
         }