How to configure ExtJS 4 Store (proxy and reader) to read metadata

extjs, extjs4, json, model, proxy

Solution

Here is solution for my problem. I am handling afterRequest event in the Proxy class where I can get response data, parse it and save metadata. This is proxy part of the TestStore class:

So here is proxy part from the TestStore class:

proxy: {
        type: "ajax",
        url: "/users.json",  
        reader: {
            type    : 'json',
            root    : 'gip.account',
            totalProperty: "gip.totalRecords",
            searchquery: "searchquery"
        },
        afterRequest: function(req, res) {
            console.log("Ahoy!", req.operation.response);    
        }
    }

Problem

My question is how to get metadata besides totalRecords, in my case it is version, code, searchquery (please look at json). ``` { "result": { "version":"1", "code":"200", "searchquery": "false", "totalRecords": "2", "account":[ { "lastname": "Ivanoff", "firstname": "Ivan", "accountId":"1" }, { "lastname": "Smirnoff", "firstname": "Ivan", "accountId":"2" } ] } ``` } Here is my model: ``` Ext.define("test.Account", { extend: "Ext.data.Model", fields: [ {name: 'accountId', type: 'string'}, {name: 'lastname', type: 'string'}, {name: 'firstname', type: 'string'} ] }); ``` And store: ``` Ext.define("test.TestStore", { extend: "Ext.data.Store", model: "test.Account", proxy: { type: "ajax", url: "users.json", reader: { type : 'json', root : 'result.account', totalProperty: "result.totalRecords" } }, listeners: { load: function(store, records, success) { console.log("Load: success " + success); } } }); ``` Using this store I am able to load records (account) and cannot find any methods to access rest of the fields. Thank you in advance.

Original source