我正在使用GroupingStore将数据加载到网格中,数据从服务器加载并通过JSON读取器读取。这是相关的代码
var reader = new Ext.data.JsonReader({
successProperty: 'success',
idProperty: 'id',
root: 'data',
messageProperty: 'message'
}, [
{name: 'id'},
{name: 'creator'},
{name: 'first_name', allowBlank: false},
{name: 'last_name', allowBlank: false}
]);
var store = new Ext.data.GroupingStore({
id: 'person',
proxy: proxy,
reader: reader,
groupField:'creator',
sortInfo:{field: 'first_name', direction: "ASC"}
});
它被正确地加载到网格中,但是有了这些数据,我想发送一些更多的数据,这些数据不会被网格化,但会节省我的服务器之旅。 那么无论如何我可以访问从服务器返回的原始数据吗?
我尝试在加载中使用回调
store.load({'callback':loadCallback})
但loadCallback中的数据只是记录列表而不是原始数据。
修改:一个例子 从服务器i返回{'form_items':[],'data':[]},数据节点用作商店的根,包含网格行,我想访问form_items或实际上是服务器返回到的原始数据存储。
答案 0 :(得分:3)
通过直接访问store.reader.jsonData
,我找到了一种在加载回调中执行此操作的方法e.g。
store.load({'callback':function(a,b,c){
console.log(store.reader.jsonData)
}});
答案 1 :(得分:2)
听起来您希望在商店加载完成后访问服务器的原始响应。试试这个(未经测试的)代码。
store.proxy.on('onread', function(a, o, response) {
var data = Ext.util.JSON.encode(response.responseText);
console.dir(data.form_items);
}