PDA

View Full Version : [Solved] Ajax.requestで取得したXMLデータをStoreに格納するには?



kuro
15 Sep 2009, 5:21 AM
Ext.Ajax.request によってサーバーから取得したXMLデータ(responseXML)を
データストア(Ext.data.Store もしくは Ext.data.XmlStore)に格納する方法を
調べています。
どこかに簡単なサンプルコードなどありませんでしょうか?

kuro
16 Sep 2009, 7:54 PM
XmlReaderとMemoryProxyを使うことで、簡単に実現できることがわかりました。
Ajaxで取得したレスポンスデータ(responseXML)をMemoryProxyに渡すところがミソですね。



var fields = ['userID', 'firstName', 'lastName', 'age'];
var xmlReader = new Ext.data.XmlReader({ record: 'user' }, fields);
var dataStore = new Ext.data.Store({
reader: xmlReader,
proxy: new Ext.data.MemoryProxy(xmlObj)
});
dataStore.load();
サーバーから取得したXMLデータを、用途や構造の異なる複数のデータストアに取り込みたい
場合に便利ではないかと思います。