从MySQL JSON输出中获取高亮图的问题

时间:2014-07-03 09:03:41

标签: javascript php jquery json highcharts

我在将json数据从表加载到highchart.js列类型时遇到问题。我尝试将JSON加载到JavaScript对象并访问它们,如:y: chartvals.projects但我收到此错误消息:

  

Uncaught Highcharts错误#14:www.highcharts.com/errors/14

我所拥有的是这个ajax调用和highchart片段:

var req2 = $.ajax({
    type: "POST",
    data: data,
    dataType: 'json',
    url: "assets/tempchart.php"
});
req2.done(function(data) {
    var chartvals = data;
    $('#chart1').highcharts({
        chart: {
            type: 'column'
        },
        credits: {
            enabled: false
        },
        title: {
            text: 'Economy Model',
            style: {
                color: '#5882FA',
                fontWeight: 'normal',
                fontSize: '11',
                marginBottom: '30'
            }
        },
        xAxis: {
            categories: ['Total Projects']
        },
        yAxis: {
            tickInterval: 50,
            max: 800
        },
        legend: {
            enabled: false
        },
        tooltip: {
            formatter: function() {
                return this.x +
                        ' is <b>' + this.y + '</b>';
            }
        },
        series: [{
                data: [{
                        name: 'Point 1',
                        color: '#00FF00',
                        y: chartvals.projects
                    }]
            }]
    });
});

你能告诉我如何解决这个问题吗?感谢

  

更新

这是Response JSON

{"project":"8","powerline":"188.396496","road":"7.876766","cost":"69885005.45"}

1 个答案:

答案 0 :(得分:0)

当字符串值发送到series.data时会出现此错误,但它需要数字。 如果将字符串作为数据点传入,则会发生这种情况。

HightCharts Error # 14

  

Highcharts期望数据值为数字。最常见的原因是数据是从CSV或XML源解析的,并且实现者忘记在解析的值上运行parseFloat。

     

出于性能原因,不执行内部类型转换,只检查第一个值(从2.3开始)。