Javascript 基于AJAX图形生成的Highcharts

Javascript 基于AJAX图形生成的Highcharts,javascript,php,ajax,highcharts,Javascript,Php,Ajax,Highcharts,我曾尝试将AJAX实现到highcharts中,但由于某些原因,它无法正常工作 我的HTML和javascript如下所示: function test () { var options = { chart : { renderTo : 'container', type : 'spline', zoomType: 'x', }, series : [{ data: [] }] }; $.a

我曾尝试将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]}
你知道怎么了吗


我把它改成这样: 功能测试(){ 变量选项={ 图表:{ renderTo:'容器', 类型:“样条线”, zoomType:'x', }, 系列:[{ 数据:[], }] })


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

您忘记了success函数的数据参数

    success : function () {
应该是

    success : function(json) {

现在,该函数中未定义
json

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

是否获得一个空白图形或其他内容???…哪个部分不工作???.setData()也不存在。
options
只是一个普通对象,没有定义任何方法,除非highcharts在后台做了这样的事情。可能是
options.series.data[0]=json['data']
?函数测试(){var options={chart:{renderTo:'container',type:'spline',zoomType:'x',},series:[{data:[],}]};$.ajax({url:'data.php?year='+year,datatype:'json',success:function(json){options.series.data[0]=json['data'];chart=new Highcharts.chart(options);},});}我仍然没有生成任何图形,只是没有创建任何图表。因此,请检查您的javascript控件(FF中的shift-ctrl-k)并查看是否出现任何错误。好的,部分出现了…现在我得到一个空白图表…我确定问题出在将数据提取到highcharts的方式上,我再次检查,因此主线是:options.series[0]。data=json['data'];data.php的输出如下:{“name”:2012,“data”:[-1.4,-1.4,-1.3,-1.3,-1.3,-1.3,-1.2,-1.3,-1.2,-1.2]}
    success : function () {