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

通常、私は次のようにストアにレコードを追加します。

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

ここで、応答はからの応答ですExt.Ajax.request

お役に立てれば

于 2012-10-04T09:33:44.810 に答える
0

モデルを作成する必要があります:

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

モデルを保存します。

record.save()

ストアをリロードします。

geographyMasterStore.load()

于 2012-10-04T15:40:34.157 に答える