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();
}
});
}
ajaxリクエストによって送信されたデータを読み取ることができるJavaクラスがあり、ストアがデータをフェッチするために使用するdata.jsonファイルを上書きします。json ファイルは問題なく上書きされますが、問題は、同期後に userStore.load() を呼び出すと、変更を加える前に古いデータが表示されることです。グリッドを更新したり、ページ全体を更新したりしても、古いデータが表示されますが、Eclipse でプロジェクト全体を更新してページをリロードすると、上書きされた新しいデータが表示されます。
これはキャッシュの問題ですか?誰かが私に何が問題なのか教えてもらえますか?