Я создал веб-приложение ExtJS. У меня есть файл JSON с некоторыми данными. Я создал хранилище данных и загрузил данные из JSON. Я также связываю хранилище данных с сеткой. Сетка отлично отображает данные.Изменение хранилища данных при перезапуске приложения
Теперь я хотел обновить некоторый элемент в сетке, но так, чтобы и данные в json обновлялись.
Я использовал следующий код, когда кто-то нажимает кнопку:
var grid = Ext.getCmp('PersonListing');
var store = Ext.getStore('PersonDataStore');
store.each(function(record,idx){
val = record.get('Name');
if(val == "Jon"){
record.set('Name','David');
}
record.commit();
});
console.log(store);
grid.reconfigure(store);
Теперь, как только этот код выполняет, я могу видеть имя изменилось в сетке данных. Но если я обновляю приложение или перезагружаю его, изменение будет потеряно. Данные в json-файле не изменяются. Почему это происходит? Как я могу реализовать это, чтобы изменения сохранялись?
Вот код магазина
Ext.define('PersonListing.store.PersonDataStore', {
extend: 'Ext.data.Store',
alias: 'store.personstore',
requires: [
'PersonListing.model.PersonData',
'Ext.data.proxy.Ajax',
'Ext.data.reader.Json'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'PersonDataStore',
autoLoad: true,
model: 'PersonListing.model.PersonData',
proxy: {
type: 'ajax',
url: 'data/people.json',
reader: {
type: 'json',
rootProperty: 'data'
}
}
}, cfg)]);
}
});
Является ли ваш 'PersonDataStore' использованием прокси-сервера? Является ли клиентский сервер прокси-сервера или сервером? – Alan
@Alan Как я могу проверить это? В вопросе я добавил код для магазина –
Он использует прокси AJAX, который является прокси-сервером на стороне сервера. – Alan