ExtJS:如何从Ext.data.Store获取原始JSON数据?

c.s*_*kun 13 extjs4

来自这样的典型商店

Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'firstName', type: 'string'},
        {name: 'lastName',  type: 'string'},
        {name: 'age',       type: 'int'},
        {name: 'eyeColor',  type: 'string'}
    ]
});

var myStore = Ext.create('Ext.data.Store', {
    model: 'User',
    proxy: {
        type: 'ajax',
        url : '/users.json',
        reader: {
            type: 'json',
            root: 'users'
        }
    },
    autoLoad: true
});
Run Code Online (Sandbox Code Playgroud)

是否可以从myStore获取原始Json?

Gra*_*Zhu 17

关于什么:

myStore.proxy.reader.rawData
Run Code Online (Sandbox Code Playgroud)


Tim*_*r K 11

接受的解决方案在我的配置中不起作用:ExtJs 4.1和带有内存代理的网格 - 在我将项添加到gird(并且商店对象反映出来)后它返回空.以下代码用于将存储内容编码为JSON字符串:

var json = Ext.encode(Ext.pluck(store.data.items, 'data'));
Run Code Online (Sandbox Code Playgroud)

干杯!

  • 6.5.x:Ext.encode(Ext.Array.pluck(store.data.items,'data')); (2认同)