Extjs 4.1成功从服务器删除后从商店中删除
问题描述:
我有一种情况,我需要从商店中删除商品,我使用的是删除(记录)方法,我的目标是仅在商店删除商品后服务器将其删除并返回成功消息。商店使用ajax代理对服务器进行DELETE调用,并使用自动加载和自动同步。当调用remove(record)时,它首先从商店中删除记录,然后继续对服务器进行DELETE调用。Extjs 4.1成功从服务器删除后从商店中删除
我觉得这个行为有点奇怪,因为它似乎必须根据服务器的响应手动将模型重新插入到商店中。是什么让情况变得更加复杂的是,'异常'事件正由代理处理,而不是商店。此外,代理是存储不可知的,因此捕获服务器在代理中的响应生成的异常事件,不允许我在存储上执行诸如rejectChanges之类的操作。
显然有什么东西错了我实现的逻辑,所以我需要了解的是如何改变卖场后,服务器的响应和基于服务器的响应,或者如果这是不可能的如何前门店恢复到以前的状态操作。
答
我使用代理的“异常”事件。例如:
initComponent: function() {
this.callParent(arguments);
this.getProxy().on({
exception: function(proxy, response, operation) {
this.rejectChanges();
}
});
}
:
store.getProxy().on({
exception: function() {
store.rejectChanges();
}
})
此外,它可以在您的商店添加