Extjs 通过store';从JSON访问其他属性;s荷载法

Extjs 通过store';从JSON访问其他属性;s荷载法,extjs,extjs6,Extjs,Extjs6,我有一个通过JSON存储加载数据的网格,但是除了记录本身之外,我还需要访问其他一些属性。下面是一个JSON数据的示例: { success: true, records: [ {id: 1, name: 'bob'}, {id: 2, name: 'fred'} ], extraProperty: 'foo' } 我需要在加载网格数据时访问该extraProperty。所以我想我会想要一个回调,就像这样: store.load({

我有一个通过JSON存储加载数据的网格,但是除了记录本身之外,我还需要访问其他一些属性。下面是一个JSON数据的示例:

{
    success: true,
    records: [
        {id: 1, name: 'bob'},
        {id: 2, name: 'fred'}
    ],
    extraProperty: 'foo'
}
我需要在加载网格数据时访问该extraProperty。所以我想我会想要一个回调,就像这样:

store.load({
    callback: function (records, operation, success) {
        //somehow access extraProperty here
    }
});

我不知道在回调中该怎么做。操作变量Ext.data.operation.operation对象有一个名为getResponse()的私有方法。它在Chrome中返回一个对象,该对象具有responseJson属性,但在IE中,它具有需要解码的responseText属性。所以我可以处理这两种情况,但由于它是一种私有方法,我不想一开始就依赖它。有什么想法吗?

使用阅读器上的
keepRawData
config

store.load({
    callback: () => {
        const { extraProperty } = store.getProxy().getReader().rawData;
    }
});

根据您的需要,您可能还需要查看
preserveRawData

您是否在商店级别尝试过,如下图所示

在reader配置部分的代理下

proxy: {
  type: 'ajax',
  actionMethods: {
    read: 'GET'
  },
  headers: {
    'Content-Type': 'application/json;charset=utf-8'
  },
  api: 'your url',
  reader: {
      extraProperty: 'extraProperty'
  }
}