1

私は 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();
},

乾杯 :)

4

1 に答える 1