我试图将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);
},
});
}
数据.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]}
任何想法出了什么问题?
我把它改成这样: 函数测试 () { 变量选项 = { 图表 : { 渲染到:"容器", 类型 : "样条", 缩放类型:"x", }, 系列 : [{ 数据: [], }] };
$.ajax({
url : 'data.php?year=' + year,
datatype : 'json',
success : function (json) {
options.series[0].data = json;
chart = new Highcharts.Chart(options);
},
});
}
但我仍然没有得到任何图表
您忘记了成功函数的数据参数。
success : function () {
应该是
success : function(json) {
目前,json
该函数中尚未定义。
如果通过 json 加载系列对象,则需要将其解析为 json(它是字符串)或在脚本中返回 json。此外,如果您获得系列对象,则无法将其分配给数据对象,因此在您的情况下,您需要使用series: datajson