服务器端返回json串。
String result="{rows:[{'di':'1','genre_name':'喜剧片','sort_order':'0'},{'id':'2','genre_name':'恐怖片','sort_order':'1'},{'id':'3','genre_name':'动作片','sort_order':'2'}]}";
从服务器端获取列表数据,我们还需要做些设置。首先,data sotre要知道数据格式,我们需要一个reader,这里我们用Json reader.
var genres = new Ext.data.Store({
reader: new Ext.data.JsonReader({
fields: ['id', 'genre_name'],
root: 'rows'
}),
proxy: new Ext.data.HttpProxy({
url: 'genre.jsp'
})
});
第一个配置项是reader,指明了要读取哪一列,根元素是哪个。这个列表仅仅是个简单的名称列表,注意我们没有用到sort_order,因为这一列中我们的data set里是不可用的。根元素包含了我们的数据数组,在这里是个rows.
我们还设置了一个proxy,用来从同一个域里获取数据。
这个例子我们其实用到了ajax,所以必须要在服务器上运行我们的页面了。
我们用genres.load()方法先把数据下载下来,然后再组合框中就可以看到下拉数据了。
或者可以用欲加载的方法,自动把数据下载下来。
var genres = new Ext.data.Store({
reader: new Ext.data.JsonReader({
fields: ['id', 'genre_name'],
root: 'rows'
}),
proxy: new Ext.data.HttpProxy({
url: 'data/genres.php'
}),
autoLoad: true
});