0

如果我的数据来自后端 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>);

它没有向我显示映射字段,即 Level_Code

4

2 回答 2

0

您需要创建一个模型:

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

保存模型:

record.save()

重新加载商店:

geographyMasterStore.load()

于 2012-10-04T15:40:34.157 回答
0

通常我在向商店添加记录时是这样的:

Ext.create('App.model.MyModel', JSON.parse(response.responseText);

其中 response 是来自Ext.Ajax.request

希望这可以帮助

于 2012-10-04T09:33:44.810 回答