每当Json商店完成从服务器加载数据时,我都会尝试更新屏幕。我尝试注册“load”和“datachanged”侦听器,它们只有在返回数据或数据从缓存中更改时才起作用。
但是,有些情况下服务器没有返回任何内容 - 空字符串,在这种情况下根本不会调用任何侦听器。对于这些特殊情况,我可以在ExtJS中做些什么?
答案 0 :(得分:1)
使用JsonStore,即使没有记录,它仍然需要有效的响应。因此,如果你的根是“数据”,那么商店仍然需要像
这样的东西{"data": [], "count": 0}
退回。如果你根本不返回任何东西,很可能会抛出异常。听取"exception"事件,看看是否发生了这种情况。
答案 1 :(得分:0)
您是否尝试过在beforeLoad
事件中附加注册? beforeLoad
事件在发送新数据请求之前触发,因此无论是否返回数据,都可能触发事件。