ExtJs。 JsonStore.insert()导致异常

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