首页 文章

具有AJAX图生成的Highcharts

提问于
浏览
0

我试图将AJAX实现到highcharts,但由于某种原因无法使其工作 .

我的HTML和javascript看起来像这样:

function test () {
var options = {
    chart : {
        renderTo : 'container',
        type : 'spline',
        zoomType: 'x',
    },
    series : [{
            data: []
    }]
};

$.ajax({
        url : 'data.php?year=' + year,
        datatype : 'json',
        success : function () {
            options.series[0].setData(json['data']);
            chart = new Highcharts.Chart(options);
        },
    });
}

data.php输出是:

{"name":2012,"data":[-1.4,-1.4,-1.3,-1.3,-1.3,-1.3,-1.3,-1.2,-1.3,-1.2,-1.2,-1.2]}

有什么想法有什么不对?


我将其更改为:function test(){var options = {chart:{renderTo:'container',type:'spline',zoomType:'x',},series:[{data:[],}]} ;

$.ajax({
    url : 'data.php?year=' + year,
    datatype : 'json',
    success : function (json) {
        options.series[0].data = json;
        chart = new Highcharts.Chart(options);
    },
});
}

但我仍然没有图表

2 回答

  • 0

    您忘记了成功函数的数据参数 .

    success : function () {
    

    应该

    success : function(json) {
    

    现在 json 在该函数中未定义 .

  • 0

    如果你通过json加载系列对象,你需要将它解析为json(它是字符串)或在脚本中返回json . 更多如果你得到系列对象,你不能将它分配给数据对象,所以在你的情况下你需要使用 series: datajson

相关问题