我试图在IE9中运行Highcharts的这个例子
http://www.highcharts.com/studies/live-server.htm
但是我没有调用php脚本,而是执行以下操作:
function requestData() {
var MyAppUrlSettings = {
MyUsefulUrl: '/PaymentConfirmation/UpdateChart?numSecondsToGoBack=3600'
}
$.ajax({
url: MyAppUrlSettings.MyUsefulUrl,
type: "POST",
async: false,
dataType: "json",
success: function (PaymentConfirmationData) {
$.each(PaymentConfirmationData, function (i, PaymentConfirmation) {
var d = new Date();
d.setTime(parseInt(PaymentConfirmation.TimeMilliSeconds));
var milli = d.getTime();
var series = chart.series[0],
shift = series.data.length > 20; // shift if the series is longer than 20
// add the point
chart.series[0].addPoint([milli, PaymentConfirmation.Count], true, shift);
// call it again after one second
setTimeout(requestData, 1000);
});
},
error: function (xhr, status, error) {
alert("An AJAX error occured: " + status + "\nError: " + error);
},
cache: false
});
}
现在就像在示例中一样,图表对象是全局声明的(我认为这在某种程度上不起作用!!!)
注意:“$(document).ready(function(){”函数就像示例中那样。
请提前帮助和谢谢。
答案 0 :(得分:0)
这里没有看到实际的图表代码是我最好的猜测。您没有正确定义系列对象。这一行是我认为的问题:
var series = chart.series[0],
我认为应该是;
而不是,
。
此外,如果您仍然收到此错误,那么您创建的chart
没有series
,但随后尝试将某个点推送到series[0]
。确保创建一个空系列(或在series
创建后创建chart
)。就像在给出的示例页面中一样:
series: [{
name: 'Random data',
data: []
}]