【发布时间】:2015-11-22 01:27:06
【问题描述】:
我有一个通过 http 请求填写的组合框。为此使用了带代理的 JsonStore,模型定义如下:
Ext.define('TreeModel', {
extend: 'Ext.data.Model',
fields: [
'field_1',
'field_2'
]
});
如果我在阅读器中使用了rootProperty: 'data',这对以下响应非常有效:
{
"data":[{"field_1":1,"field_2":318},
{"field_1":2,"field_2":322}]
}
现在我要通过添加错误描述来添加一些数据库错误处理:
{
"data": [{"field_1":1,"field_2":318},
{"field_1":2,"field_2":322}],
"error":{"code":"0","message":null}
}
,所以我可以这样做:
TreeStore.load({
callback: function(records, operation, success) {
App.checkServerReply(records[0].data.error);
}
});
是否有任何方法可以修改模型或存储或其他任何方法,以便可以按照所示方式获得错误描述并继续从数据数组中填充组合框?在不修改响应格式的情况下获得解决方案的任何其他想法?
【问题讨论】:
-
您不能为此使用
metachange事件吗,当您的JSON 中出现metadata object时会触发什么? stackoverflow.com/questions/31382790/… -
唉,由于某些原因,不希望更改 JSON 的格式。但感谢您的建议 - 这肯定是我不知道的另一件有用的事情!
标签: extjs model proxy callback store