var reactionsStore=Ext.create('Ext.data.JsonStore',{
autoLoad:true,
whriteAllFields: true,
fields: [
'number',
'phase',
{name:'A',type:'double'},
{name:'B',type:'double'},
{name:'E',type:'double'},
{name:'dH',type:'double'},
{name:'dS',type:'double'},
{name:'n',type:'double'},
],
proxy:{
type:'ajax',
api:{
read:'load_reactions.php',
update: 'save_reactions.php'
},
reader:{
type:'json',
root:'reactions'
},
writer:{
type:'json',
root:'reactions',
encode: true,
},
}
});
Пытаюсь передавать методом sync по onClick на кнопке. Но при этом отправляются только измененные рекорды. Мне желательно передавать целиком данные, так как информация хранится не в бд, а в текстовых файлах. Так же в случае, если изменения store не было, то sync вызывает ошибку Ext.Error: You're trying to decode an invalid JSON String:, видимо потому что парсить JsonWriter'у (Ext.data.writer.JSON) нечего.
Есть ли какой -то другой способ отправки данных из хранилища в Ext Js 4. Я еще заметил, что в третьей версии фреймворка метода sync вообще не было, ну store же как то можно было передать наверное?..
Мне в голову приходят только всякие корявые способы решения проблемы: выдирать массив данных из store, парсить их и отправлять пост-запросом, либо симмулировать как-то update всего хранилища и посылать методом sync.