当与商店关联的代理遇到异常(例如404)时,我能否以某种方式停止.load()进程?
我正在使用Ajax代理。有一个'exception' event on the proxy,但我无法弄清楚回调中究竟要做什么。
现在,商店尝试将数据填充到模型中(使用我定义的映射),即使没有数据,也会导致丑陋的红色错误消息。
更新
也许最好不要停止load()进程,而是处理实际将JSON转换为模型实例的thing(reader?)中的缺失数据。我们的想法是优雅地处理丢失的数据。我该怎么做?
答案 0 :(得分:0)
这有点棘手,特别是如果您的商店与数据查看器组件绑定。
load()
进程一旦到达exception
事件就会暂停,所以我相信你无法控制它。
在处理Ajax的store.add()
事件时,您可以使用exception
手动将数据填充到商店中,
ajax.on('exception', function () {
// since exception was called, i'll have to input data myself.
store.add({
field1: 'value1',
field2: 'value2'
});
});
我的代码基于ExtJS 3语法,可能因ExtJS 4而异,但概念应该相同。