如何在AJAX请求中只呈现一个图表?

时间:2011-07-22 14:34:50

标签: ajax extjs charts

我正在使用ExtJS 4来创建图表。每次进行AJAX调用时都会实例化图表。像这样:

$("#maincontent").getJSON("path/to/jsondata",function(data) {
  _chart.chart = Ext.create("Ext.chart.Chart", {
    axes   : _chart.axes()
  , style  : 'background:#fff'
  , series : _chart.series()
  , store  : _chart.store()
  , renderTo : $("#chart").get(0)
  , width  : Sybus.Utils.mainWidth()
  , height : Sybus.Utils.mainHeight()
  });
});

我调用AJAX调用的次数越多,页面上的图表就越多。如何防止这种情况发生并只有一个图表?谢谢。

1 个答案:

答案 0 :(得分:0)

this question类似,我已根据此情况调整了答案。

这个问题的答案来自ExtJS的责任。上面的代码示例缺少问题的原因。

我已经构建了一个类,它将绑定事件绑定到构建图表的函数。每次我调用检索图表数据的AJAX调用时,该函数都会在顶部堆叠另一个绑定,因此会有多个图表。

解决方案是检查您是否已经绑定了该事件,或者unbind()该事件,然后重新bind()