来自webservice的数据来自BindTrend方法,在绑定到图表之前将其解析为Json对象: 我的代码如下:
var plot;
var itemdata = [];
var chart;
var data = [];
$(document).ready(function () {
$.ajax({
type: "POST",
url: "ChartBinder.asmx/BindTrend",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var newJ = $.parseJSON(msg.d);
DrawTrend(newJ);
},
error: function (msg) {
alert("Error");
}
});
})
function DrawTrend(plot) {
for (i = 0; i < plot.length; i++) {
var x = {}
x.id=plot[i].Name;
x.name = plot[i].Name;
x.data = [plot[i].Value];
itemdata.push(x);
}
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
marginRight: 130,
marginBottom: 25
},
series: itemdata
});
}
请注意,当我对值'x.data=[1,2,3....]'
进行硬编码时,我可以获取图表。
请帮助。
答案 0 :(得分:-1)
是因为你在'for'中声明x?
var x = {}
function DrawTrend(plot) {
for (i = 0; i < plot.length; i++) {
x.id=plot[i].Name;
x.name = plot[i].Name;
x.data = [plot[i].Value];
itemdata.push(x);
}