如果代理遇到异常,ExtJS 4.0将取消存储加载
Ext JS 4.0 cancel store load if proxy encounters exception
当与存储关联的代理遇到异常(如404)时,我能以某种方式停止.load()进程吗?
我正在使用Ajax代理。代理上有一个"异常"事件,但我不知道在回调中该做什么。
现在,存储区试图将数据填充到模型中(使用我定义的映射),即使没有数据,这也会导致难看的红色错误消息。
更新
也许最好不要停止load()过程,而是处理实际将JSON转换为模型实例的东西(读取器?)中丢失的数据。其思想是优雅地处理丢失的数据。我该怎么做?
这有点棘手,尤其是当您的存储绑定到数据查看器组件时。
一旦到达exception
事件,load()
进程就会停止,所以我相信您无法控制它。
在处理Ajax的exception
事件时,您可以使用store.add()
手动将数据填充到存储中
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的不同而有所不同,但概念应该是相同的。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- jquery点击函数select&取消选择
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 如何有效地将游戏数据存储在URL查询字符串中
- Ember.js-接口状态应该存储在哪里
- 使用Jquery选择或取消选择ListView中的所有复选框
- 如何解雇“;铁局部存储负载”;事件
- 本地存储中的字符串到字节数组转换
- 从jQuery调用存储在Variable中的函数
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- 使用jquery选中/取消选中单个复选框
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 将数据存储在javascript数组中以供进一步使用
- 如果取消对本地存储的写入,会发生什么情况
- 如何记住复选框是选中还是取消选中(单击时)使用本地存储并保存值
- 如果代理遇到异常,ExtJS 4.0将取消存储加载
- 取消绑定委托事件,其中 jQuery 对象存储在变量中