2011-01-13 31 views
0

我有一個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個項目,但只有一個發回。那麼如何處理呢?是否有可能讓商店不再發送失敗物品的請求?

回答