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);
    },
});
}

但我仍然没有得到任何图表

4

2 回答 2

0

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

    success : function () {

应该

    success : function(json) {

现在json在该函数中是未定义的。

于 2013-10-21T20:21:54.253 回答
0

如果您通过 json 加载系列对象,则需要将其解析为 json(它是字符串)或在脚本中返回 json。此外,如果您获得系列对象,则无法将其分配给数据对象,因此在您的情况下,您需要使用series: datajson

于 2013-10-22T09:52:40.327 回答