1
我在Extjs 4.2中有一個網格,它的存儲配置如下。Extjs 4.2網格刷新加載舊數據
var userStore = Ext.create('Ext.data.JsonStore', {
model: 'User',
proxy: {
type: 'ajax',
api: {
create: '/pwbench/form/products/fctrmgmt/data.json',
read: '/pwbench/form/products/fctrmgmt/data.json',
update: '/pwbench/form/products/fctrmgmt/data.json',
destroy: '/pwbench/form/products/fctrmgmt/data.json'
},
reader: {
type: 'json'
},
writer: {
type: 'json'
}
},
autoLoad: true
});
在網格內部,點擊保存我有以下配置。
handler: function() {
var recordsArray = new Array();
var dataRecords = new Array();
recordsArray = grid.getStore().data.items;
for (var i = 0; i < recordsArray.length; i++) {
console.log(recordsArray[i].data);
dataRecords.push(Ext.encode(recordsArray[i].data));
}
console.log(dataRecords.length);
Ext.Ajax.request({
url: 'mainpage.jsp',
params: {
records: dataRecords
},
success: function(response){
var text = response.responseText;
console.log(text);
userStore.sync();
userStore.load();
}
});
}
我有一個Java類,其能夠讀取由AJAX請求中發送的數據,然後我改寫該存儲使用獲取數據的data.json文件。 json文件被覆蓋沒有任何問題,但問題是,當我在同步之後調用userStore.load()時,會在進行任何更改之前顯示舊數據。即使在刷新網格或刷新整個頁面時,它也會顯示舊數據,只有當我在Eclipse中刷新整個項目並重新加載頁面時,才顯示新的覆蓋數據。
這是一些緩存問題?有人可以告訴我什麼是問題?
內成功的成功回調使商店同步。語法是this.get Store()。sync();它會幫助你。 –
Hariharan
爲此,我是否需要在商店中添加一些ID?例如,this.get('Storeid')Store()。sync? 我甚至嘗試過在成功函數中使用this.getStore()。sync(),導致出現錯誤,說明getStore沒有爲該對象定義。 –
嗨用戶2380798請參閱sencha示例,在那裏你能夠理解。 http://docs.sencha.com/extjs/4.2.0/#!/guide/application_architecture 不需要storeid,它需要storename – Hariharan