我尝试根据自己的需要修改此示例:http://goo.gl/DEyGtV
我正在进行ajax调用,返回如下输出:& label = 16:44:31& value = 356
我希望标签部分是x轴,值部分是y轴。因此,我改变了这一点,
var x = (new Date()).getTime(), // current time
y = Math.random();
有了这个,
var x;
var y;
$.ajax({
cache: false,
url: "http://localhost/pages/ReturnData.aspx",
success: function (data) {
var varArr = data.toString().split("&");
x = varArr[1].split("=")[1];
y = varArr[2].split("=")[1];
}
});
这一点,
series: [{
name: 'Random data',
data: (function() {
// generate an array of random data
var data = [],
time = (new Date()).getTime(),
i;
for (i = -19; i <= 0; i++) {
data.push({
x: time + i * 1000,
y: Math.random()
});
}
return data;
})()
}]
有了这个:
series: [{
name: 'Prim',
data: (function () {
// generate an array of random data
var data = [],
time = (new Date()).getTime(),
i;
for (i = -19; i <= 0; i++) {
var xvar;
var yvar;
$.ajax({
cache: false,
url: "http://localhost/pages/ReturnData.aspx",
success: function (data) {
var varArr = data.toString().split("&");
xvar = varArr[1].split("=")[1];
yvar = varArr[2].split("=")[1];
}
});
data.push({
x: xvar,
y: yvar
});
}
return data;
})()
}]
然而情节并未绘制。我非常确定ajax调用会返回我需要的数据。你能指出我哪里出错吗?
非常感谢提前。
答案 0 :(得分:0)
不要这样做,它不会起作用。首先调用AJAX,然后在回调中创建新图表。并且不要在相同的点上使用AJAX二十次。
结帐示例:
答案 1 :(得分:0)
您可以使用系列的更新方法来更新图表数据:
$.ajax({
cache: false,
url: "http://localhost/pages/ReturnData.aspx",
success: function (data) {
// data manipulation here...
chart.series[0].update({
data: data
});
}
});