Moje pytanie brzmi: jak uzyskać metadane poza totalRecords, w moim przypadku jest to wersja, kod, wyszukiwanie (proszę spojrzeć na json).Jak skonfigurować ExtJS 4 Store (proxy i czytnik) do odczytu metadanych
{
"result": {
"version":"1",
"code":"200",
"searchquery": "false",
"totalRecords": "2",
"account":[
{
"lastname": "Ivanoff",
"firstname": "Ivan",
"accountId":"1"
},
{
"lastname": "Smirnoff",
"firstname": "Ivan",
"accountId":"2"
}
]
}
}
Oto mój model:
Ext.define("test.Account", {
extend: "Ext.data.Model",
fields: [
{name: 'accountId', type: 'string'},
{name: 'lastname', type: 'string'},
{name: 'firstname', type: 'string'}
]
});
i przechowywać:
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);
}
}
});
Stosując ten sklep Jestem w stanie załadować rekordy (rachunku), a nie może znaleźć żadnego metody dostępu do pozostałych pól.
Z góry dziękuję.
Sprawdziłem klasę proxy. http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.proxy.Proxy - nie znajduje tam metody "processResponse()". znajduję jeden w Ext.form.action.Action. Czy możesz uczynić tę odpowiedź nieco bardziej zrozumiałą. – Jom
sprawdź 'Ext.data.proxy.Server' w klasie 4.0.7 (myślę, że OP ma ExtJs4 nie 4.1 - ale powinny być stosunkowo podobne) – sha
dziękuję za cynk z metodą processResponse, ale pracuję z wersją 4.1 i zdecydowałem nie dotykać plików ramowych. Jednak znalazłem inne rozwiązanie mojego problemu. Klasa Proxy ma zdarzenie afterRequest, obsługując to zdarzenie mogę uzyskać dane odpowiedzi ze wszystkich pól metadanych. – barmaleikin