私は ExtJS 4 を学んでおり、更新された結果をグリッドから json ファイルに書き込もうとしています。値を読み取ることはできますが、更新しようとしても何も更新されません。私は Mint で Apache を実行しています。パーミッションが json の書き込みを台無しにしていた場合に備えて、htdocs フォルダーとその中のすべてを chmod 777 に設定しました。そこには運がありません:(
ここに私のコードがあります: モデル:
Ext.define('APP.model.RiverModel', {
extend : 'Ext.data.Model',
autoSync : true,
fields : [
{
name : 'id',
type : 'int',
},
{
name : 'river',
type : 'string',
},
{
name : 'len',
type : 'int',
}
],
proxy: {
type: 'ajax',
api: {
read: 'app/data/Lengths.json',
create: 'app/data/updateLengths.json',
destroy: 'app/data/updateLengths.json',
update: 'app/data/updateLengths.json'
},
actionMethods: {
create : 'POST',
read : 'POST',
update : 'POST',
destroy: 'POST'
},
reader: {
type: 'json',
root: 'rivers',
successProperty: 'success'
},
writer:
{
type: 'json',
root: 'rivers',
writeAllFields : false,
allowSingle :false
},
},
});
店:
Ext.define('APP.store.LevelDb', {
extend : 'Ext.data.Store',
autoLoad : true,
autoSync : true,
model : 'APP.model.RiverModel',
}); console.log('ストアロード');
コントローラ更新機能:
lineSave: function(button) {
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord(),
values = form.getValues();
values.len = parseInt(values.len);
//values.len = 555;
console.log(values);
record.set(values);
win.close();
this.getLevelDbStore().sync();
},
乾杯 :)