ExtJS 4 JSON没有更新/写入

时间:2013-06-11 16:59:10

标签: javascript json apache extjs extjs-mvc

我正在学习ExtJS 4,我正在尝试将更新的结果从网格写入json文件,我可以读取值,但是当我尝试更新它们时,没有任何更新。我正在Mint上运行Apache,我还将htdocs文件夹和所有内容设置为chmod 777,以防权限正在弄乱我的json写作。那里没有运气:(

这是我的代码: 型号:

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('store load');

控制器更新功能:

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

干杯:)

1 个答案:

答案 0 :(得分:2)

如果您尝试通过ExtJS(例如JavaScript)更新实际的 .json 文件,那么您将不会有任何运气。如果您需要更新文件,则需要使用一些可以访问您要更新的文件的服务器端技术来执行此操作。