Sencha touch 向存储添加AJAX响应数据

Sencha touch 向存储添加AJAX响应数据,sencha-touch,sencha-touch-2,sencha-architect,Sencha Touch,Sencha Touch 2,Sencha Architect,如果我的数据来自后端AJAX调用,如何向json存储添加数据 我的商店如下 Ext.define('MyApp.store.GeographyMasterStore', { extend: 'Ext.data.Store', requires: [ 'MyApp.model.GeographyMasterModel' ], config: { model: 'MyApp.model.GeographyMasterModel', storeId: 'geogr

如果我的数据来自后端AJAX调用,如何向json存储添加数据

我的商店如下

Ext.define('MyApp.store.GeographyMasterStore', {    extend: 'Ext.data.Store',


requires: [
    'MyApp.model.GeographyMasterModel'
],


config: {
    model: 'MyApp.model.GeographyMasterModel',
    storeId: 'geographyMasterStore',
    proxy: {
        type: 'ajax',
        reader: {
            type: 'json'
        }
    }
}
});
我的模型如下:

Ext.define('MyApp.model.GeographyMasterModel', {
extend: 'Ext.data.Model',


config: {
    fields: [
        {
            name: 'Code'
        },
        {
            name: 'Description'
        },
        {
            name: 'Level_Code',
            mapping: 'Level Code'
        },
        {
            name: 'Name'
        }
    ]
}
});
如果我像这样添加数据

var geographyMasterStore = Ext.getStore('geographyMasterStore');
geographyMasterStore.add(<data from backend AJAX call>);
var geographyMasterStore=Ext.getStore('geographyMasterStore');
geographyMasterStore.add();

它不会显示映射字段,即级别代码,通常在向存储添加记录时显示,如下所示:

Ext.create('App.model.MyModel', JSON.parse(response.responseText);
其中response是来自
Ext.Ajax.request的响应


希望这对您有所帮助

您需要创建一个模型:

var record=Ext.create('model.GeographyMasterModel',Ext.JSON.decode(response.responseText))

保存模型:

record.save()

重新加载存储:


geographyMasterStore.load()

如何将这样的数据添加到存储中,我有一个预定义的存储和一个模型,您正在创建一个新模型。它不允许我使用上述代码创建模型。它给出了以下错误。我在这里担心的是,我没有得到映射到级别代码字段的字段级别代码。您可以在模型代码中看到这一点。