我正在使用 JQuery 1.7.2。我正在使用 highchart 制作实时数据图表。我制作了一个 C# 页面,在页面加载时我正在编写一些 JSON 格式的数据,我在另一个页面中使用帮助 ajax 调用 highcharts。我将在函数内运行该 ajax 调用,并且在 ajax 调用成功事件中,我将在 1 分钟后设置 setTimeout 以再次调用函数,因此我每次都会获取最新数据。直到这里一切都很好。
但是我有问题可以说数据我每 1 分钟只获取 4 小时的数据,而不是让我的浏览器保持打开状态并在第二天到来。那个时候我的 aspx 页面将从零开始的新数据开始,所以我的 highcharts 应该自动删除所有点并应该推送新数据,但它没有这样做。当我刷新我的页面时,一切都会开始正常工作。无论如何它应该自行刷新
我的ajax调用代码如下
function recieveData() {
var pathArray = window.location.pathname.split( '/' );
var chart = $('#container').highcharts();
$.ajax({
url: '/' + pathArray[1] + '/HomePageChartData.aspx',
dataType: 'json',
cache: false,
success: function (data) {
chart.yAxis[0].setExtremes(data.minY, data.maxY, true, true);
chart.series[1].setData([]);
chart.series[1].name = data.lineSeriesName;
chart.series[0].setData([]);
chart.series[0].name = data.areaSeriesName;
for (var x in data.lineSeriesData) {
chart.series[1].addPoint([data.lineSeriesData[x][0], data.lineSeriesData[x][1]]);
}
for (var x in data.areaSeriesData) {
chart.series[0].addPoint([data.areaSeriesData[x][0], data.areaSeriesData[x][1]]);
}
setTimeout(recieveData, 60000);
}
});
}
@@Edited 有更多解释看起来我以前不能正确,所以我会再做一次。我的情况就像数据在上午 9 点到下午 12.30 之间出现,并且它一直保留在数据库中,直到第二天上午 7 点。因此,我的 highchart 将在上午 9 点到下午 12.30 之间每分钟获取一次数据,这运行得非常好,没有任何问题。但是,当我们在第二天早上 7 点清除所有数据并在早上 9 点开始获取新数据时,我的高点图表并没有自行清除并开始获取新数据。
但是如果我刷新我的浏览器,我会得到新的数据,而且效果很好。所以我看起来像如果我们擦除所有数据,我的 ajax 应该得到警报并重新加载页面或从 highchart 清除数据。
所以我在 ajax 调用中寻找一些事件或方法。一些专家的指导。