Câu hỏi của tôi là cách lấy siêu dữ liệu ngoài totalRecords, trong trường hợp của tôi là phiên bản, mã, tìm kiếm (hãy xem json).Cách định cấu hình ExtJS 4 Store (proxy và trình đọc) để đọc siêu dữ liệu
{
"result": {
"version":"1",
"code":"200",
"searchquery": "false",
"totalRecords": "2",
"account":[
{
"lastname": "Ivanoff",
"firstname": "Ivan",
"accountId":"1"
},
{
"lastname": "Smirnoff",
"firstname": "Ivan",
"accountId":"2"
}
]
}
}
Đây là mô hình của tôi:
Ext.define("test.Account", {
extend: "Ext.data.Model",
fields: [
{name: 'accountId', type: 'string'},
{name: 'lastname', type: 'string'},
{name: 'firstname', type: 'string'}
]
});
Và cửa hàng:
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);
}
}
});
Sử dụng cửa hàng này tôi có thể tải hồ sơ (tài khoản) và không thể tìm thấy bất kỳ phương pháp để truy cập phần còn lại của các trường.
Cảm ơn bạn trước.
i kiểm tra lớp proxy. http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.proxy.Proxy - không tìm phương thức 'processResponse()' ở đó. tôi đang tìm một trong Ext.form.action.Action. Bạn có thể làm cho câu trả lời này bit rõ ràng hơn không. – Jom
kiểm tra lớp 'Ext.data.proxy.Server' trong 4.0.7 (tôi nghĩ OP có ExtJs4 không 4.1 - nhưng chúng tương đối giống nhau) – sha
cảm ơn bạn đã sử dụng phương pháp processResponse nhưng tôi đang làm việc với phiên bản 4.1 và đã quyết định không chạm vào các tệp khuôn khổ. Tuy nhiên tôi đã tìm thấy một giải pháp khác cho vấn đề của mình. Lớp proxy có sự kiện afterRequest, xử lý sự kiện này tôi có thể nhận dữ liệu phản hồi với tất cả trường siêu dữ liệu. – barmaleikin