如何处理JqPlot中没有数据

时间:2012-06-28 13:00:55

标签: jquery jqplot

使用JqPlot处理“无数据”是否有最佳方法?

假设我正在使用ajax调用消耗json数据,并且最终没有数据可用,例如:

[['North'][0],['South'][0],['East'][0],['West'][0]]

3 个答案:

答案 0 :(得分:14)

我总是有条件检查我的AJAX函数,该函数检查没有结果。然后,如果没有结果发生,我设置一个图表,使其看起来是空的。因此var data = [[null]]应该这样做,其中datajQuery.jqplot('chart', data, {})的参数。 data的值可能取决于图表的类型,因此我测试了它的线条,条形图和饼图,它工作正常。

您也可以选择隐藏图例以及图表的其他部分。对我来说,只设置data和图例就足够了。

答案 1 :(得分:2)

var data = [null];将触发控制台中的错误并进一步停止JS脚本执行。 更好的解决方案是使用以下内容。

var data = [''];
jQuery.jqplot('chart', data, {});

这将打印任何后续图形和/或继续执行JS脚本,在FF / Chrome / IE控制台中没有错误。 :-)

答案 2 :(得分:2)

在我的情况下,它与Rahi的答案相反(也许是null左边的缺失双括号是问题),这意味着我同意Boro;

这有效:var data = [[null]]; 并且:var data = [''];生成错误,无论我有多个图表还是只有一个没有数据,都会产生错误。

我正在运行jqPlot 1.0.9

我得到的错误是:Uncaught Error: No data specified来自jqPlot脚本中的条件

if (0 == this.noDataIndicator.show)
                    throw new Error("No data specified");