如何从远程加载的商店获取服务器数据

如何从远程加载的商店获取服务器数据

问题描述:

我正在使用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"} 
}); 

,但这个数据我想发送更多的数据,这是不realted电网,但会来救我去一趟服务器。 那么无论如何,我可以访问从服务器返回的原始数据?

我在负载

store.load({'callback':loadCallback}) 

但数据loadCallback使用回调试过只记录不原单数据列表。

编辑:从服务器例如 我返回{“form_items”:[],“数据”:[]},数据节点作为存储的根,并包含一行格,我想访问form_items或者实际上是服务器返回到商店的原始数据。

+0

你问你是否可以做更多的商店数据? – 2010-02-25 16:02:21

+0

@托德摩西,请参阅编辑 – 2010-02-25 16:03:23

我发现了一种通过直接访问store.reader.jsonData

例如做,在负载回调

store.load({'callback':function(a,b,c){ 
    console.log(store.reader.jsonData) 
}}); 
+0

噢好。我以为你曾经说过商店负载回调不起作用,这就是我使用代理的原因。 – 2010-02-26 13:54:27

+0

@jonathan,有问题我写了“我已经尝试在加载中使用回调,但loadCallback中的数据只是记录而非原始数据的列表。” – 2010-02-26 14:41:11

+0

是的,使用来自代理的原始响应只是获取原始http正文的另一种方式。很高兴它的工作。 – 2010-02-26 15:58:45

听起来好像您希望在商店完成加载时访问服务器的原始响应。试试这个(未经测试的)代码。

store.proxy.on('onread', function(a, o, response) { 
    var data = Ext.util.JSON.encode(response.responseText); 
    console.dir(data.form_items); 
} 
+0

不,它现在工作,它甚至不会被叫?无论如何,我已经找到了解决方案 – 2010-02-26 05:05:05