我正在尝试使用highchart.js。
这是我的代码
$.ajax({ type: "POST",
url: "api/getListWeight",
dataType: "json",
data : {idBoxeur : idBoxeur}
}).done(function( dataWeightList ) {
var data = [];
$.each(dataWeightList, function( dataWeightList_index, dataWeightList_value ) {
var splitDateRes = dataWeightList_value.weight_date.split("/");
data.push("["+Date.UTC(splitDateRes[2],parseInt(splitDateRes[1], 10)-1,parseInt(splitDateRes[0], 10))+","+dataWeightList_value.weight_poids+"]");
});
var serie = data.join(",");
}
上面的代码片段结果如下:
[1330300800000,76.8],[1347235200000,78.8],[1347580800000,77.4]
就像预期一样。
现在图表
$('#graph').highcharts({
chart: {
type: 'spline',
zoomType: 'x'
},
xAxis: {
type: 'datetime'
},
series: [{
name: 'serie Name',
data: [
//pass serie from snippet above
serie
]
}]
});
结果:没有任何事情发生.Chart是空的。
只有我非常确定,如果我在我的代码中将serie
替换为[1330300800000,76.8],[1347235200000,78.8],[1347580800000,77.4],[1348444800000,76.8]
,它就像魅力一样。
我做错了什么?我该如何解决?
阅读本文
答案 0 :(得分:0)
你传递的字符串应该是JS对象。
那一行:
data.push("["+Date.UTC(splitDateRes[2],parseInt(splitDateRes[1], 10)-1,parseInt(splitDateRes[0], 10))+","+dataWeightList_value.weight_poids+"]");
应该是:
data.push([Date.UTC(splitDateRes[2],parseInt(splitDateRes[1], 10)-1,parseInt(splitDateRes[0], 10)),dataWeightList_value.weight_poids]);
这一行:
var serie = data.join(",");
是为了什么?请删除该行或至少删除该联接。