针对AJAX数据集的ChartJS'_meta'错误

时间:2018-08-18 19:18:57

标签: javascript jquery chart.js

我正在使用Chart.js Bundle和Jquery

var toll;
        $.ajax({
            async   : false,
            type    : "GET",
            url : "barChartData.php",
            success : function(data) {
                toll = data;
            }
        });

        var barChartData = {
            labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July','August','September','October','Novemeber','December'],
            datasets: [
                toll
            ]

        };

上面的代码给出了以下错误:TypeError:无法在字符串'

中创建属性'_meta'

1 个答案:

答案 0 :(得分:0)

success是一个回调函数,这意味着它仅在ajax调用完成后才执行。这意味着变量barChartData将在toll具有任何值之前被初始化。实际上,toll尚未初始化,因为您只是编写了var toll;

  1. 初始化toll,并将其设置为空值。
  2. 访问您的图表。
  3. 将通行费数据添加到数据集中,并在成功功能内 更新图表。

    var toll = null;
    var chart = ... //Hopefully you have access to the instance of your chart? If not, please show the rest of your code.
    $.ajax({
        async   : false,
        type    : "GET",
        url : "barChartData.php",
        success : function(data) {
            toll = data;
            barChartData.datasets.push(toll);
            chart.update();
        }
    });
    
    var barChartData = {
        labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July','August','September','October','Novemeber','December'],
        datasets: []
    };