我在 AJAX 成功事件中有此代码,此 AJAX 在更改和更新日期范围后触发,如果没有要返回的数据,我返回一个空 == true 的 json 数组。
如果在 AJAX 事件触发之前图表中有数据,则嵌套的 if 条件将触发并删除每个数据系列。
问题是如果图表最初加载时没有数据,然后用户更改日期,AJAX 触发,如果条件仍在触发,则查看没有数据,我得到错误Uncaught TypeError: Cannot read property 'series' of undefined
我不是在检查图表系列是否有正确的数据吗?if 条件不是说如果系列长度大于 0 运行 while 循环吗?当系列中没有数据时,如何跳过 while 循环?
var chart = $('#chart').highcharts();
if (data.empty == 'true') {
alert('empty');
$('#chart').html( "<div class='empty-chart'>No data available for selected date range</div>" );
if (chart.series.length > 0) {
while (chart.series.length > 0) {
chart.series[0].remove(true);
}
}
}