如何通过Extjs向json文件添加新记录?

时间:2014-02-19 08:41:12

标签: json extjs

我想在json文件的末尾添加数据。我很困惑。我做的是我添加以下代码但不起作用。

 PersonRecord= Ext.define('Persons',{
extend:'Ext.data.Model',
fields:[......]
});
 var ds=new Ext.data.Store({
    storeId: 'person',
    model: 'Persons',
    autoLoad: true,
    proxy: {
        type: 'ajax',
        url: '../data.json',
        reader:{
            type: 'json',
            root:'pers'
        }
    }
    });
    .....
    'id':Ext.id(),
    'fName':fName,
    'lName':lName,
    'fatherName':fatherName,
    'nationalCode':nationalCode,
    'tell':phone
    });
    ds.add(record);
    ds.commitChanges();

但不行。 我可以从json加载数据但不能将新记录添加到json

2 个答案:

答案 0 :(得分:1)

Ext JS不会为你更新.json文件。如果您正在读取实际的.json文件,则需要让Ext JS将新数据发送到您的服务器,然后让您的服务器写出更新.json文件。

如果您只能支持非常前沿的浏览器,您还可以使用HTML5(ish)文件API与文件系统项进行交互 - 这是一个演练:http://www.html5rocks.com/en/tutorials/file/filesystem/

使用这种方法,您可以想象创建一个可以与该API交互的自定义​​Writer,以持久添加,更新,删除等。

答案 1 :(得分:0)

您可能需要为JsonProxy设置一个Writer:

http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.data.proxy.Proxy-cfg-writer