2013-02-18 76 views
0

我有一種情況,我需要從商店中刪除商品,我使用的是刪除(記錄)方法,我的目標是僅在商店刪除商品後服務器將其刪除並返回成功消息。商店使用ajax代理對服務器進行DELETE調用,並使用自動加載和自動同步。當調用remove(record)時,它首先從商店中刪除記錄,然後繼續對服務器進行DELETE調用。Extjs 4.1成功從服務器刪除後從商店中刪除

我覺得這個行爲有點奇怪,因爲它似乎必須根據服務器的響應手動將模型重新插入到商店中。是什麼讓情況變得更加複雜的是,'異常'事件正由代理處理,而不是商店。此外,代理是存儲不可知的,因此捕獲服務器在代理中的響應生成的異常事件,不允許我在存儲上執行諸如rejectChanges之類的操作。

顯然有什麼東西錯了我實現的邏輯,所以我需要了解的是如何改變賣場後,服務器的響應和基於服務器的響應,或者如果這是不可能的如何前門店恢復到以前的狀態操作。

回答

2

我使用代理的「異常」事件。例如:

initComponent: function() { 
    this.callParent(arguments); 
    this.getProxy().on({ 
     exception: function(proxy, response, operation) { 
      this.rejectChanges(); 
     } 
    }); 
} 

store.getProxy().on({ 
    exception: function() { 
     store.rejectChanges(); 
    } 
}) 

此外,它可以在您的商店添加