ExtJs。 JsonStore.insert()导致异常
我有一个EditorGridPanel和工具栏按钮来添加新的记录。除了一种情况以外,一切正常。当我尝试将已存在于数据库中的记录,服务器发回:ExtJs。 JsonStore.insert()导致异常
{“成功”:假的,“消息”:“已经存在”,“数据”:{}}
但电网创建一个标有红色三角形的新行。如果之后我尝试插入新记录(即使它不存在于数据库中),在服务器端一切正常,但我在萤火虫中得到'未捕获的异常'。它说:'未捕获的异常:Ext.data.DataReader:#realize被称为无效的远程数据。请参阅DataReader#文档,了解并检查您的DataReader配置。
这是为什么?
编辑 我发现: 当我尝试插入我用它发送POST请求与参数“数据”到服务器插入方法的新纪录(编码为真,listful为true):
数据[{ “名称”: “123”}]
和它得到:
{ “成功”:真, “数据”:{ “PositionId”:“eef1d9f3-9fdf-4b87-9f6c- ef42231f4fed“,”Name“:”123“}} 来自服务器
后,我尝试创建具有相同名称的项目: 数据[{ “名称”: “123”}]
,所以我得到: { “成功”:假的, “消息”:”已存在“,”数据“:{}} 来自服务器。
下一次我尝试创建存储发送权项数组与2项 数据[{“名称”:“1234”},{“名称”:“123”}]
但服务器只创建第一个(最新)项目并发回: {“success”:true,“data”:{“PositionId”:“1ff05c7f-d5fc-41cd-81f3-faabc225b2a6”,“Name”:“1234”}}
因此,可能会发生此错误,因为商店要求服务器创建2个项目,但只有一个发回。那么如何处理呢?是否有可能让商店不再发送失败物品的请求?
尝试关闭Store中的autoSave opiton。
this.store = new Ext.data.Store({
id: 'store'
,autoSave: false
,autoLoad: true
,writer: writer,
,proxy: proxy
,reader: reader
scope : this
});
见范例更多信息http://dev.sencha.com/deploy/dev/examples/writer/writer.html