这里我们以 JSONStore 为例来说明,xml 或文本格式类似。
在 Ext 里面,通常用 Store 来保存提取的数据。
创建 Store
var store = new Ext.data.JsonStore({
url: 'xmfl.txt', //
采用相对路径,亦可用php.jsp,action等可返回数据的地址
root: 'rows', //json根,如{rows:[{'typeId':1,'typeName':'体育用品'},{}....]}
//
这项创建record
,便于reader
使用,如果record的字段名和返回的json数组对应的名字相同,则可以不用设置,如果不同
//可以进行名字、返回数据对应名字的设置,用{}
括起来,mapping的值也可以用序号 1,2,3...来代替
fields: ['typeId',{'typeName',mapping:'typeName'}]
});
注:必须把相应文件部署在服务器上,通过http方式访问才行,js不能直接访问本地txt文件
创建
store
后,需要对数据进行加载,调用
load
方法
store.load({callback:function(r,opt,success){
//r 返回的 data.Record[] ,即按上面的 fields 解析后的 json 数组
//opt 配置对象
//success 是否成功
}})
callback 是加载数据后要执行的回调函数,针对数据处理最好放在这个回调函数里,也可以定义一个函数,把 r 传过去处理,如 callback:function(r,o,s){myfunction(r);}
剩下的工作就是对 Record 数组的处理了
var le = r.length;
for(var i=0;i<le;i++){
alert(r[i].get(‘name’)); //alert 第 i 条记录的 name 属性
}
取值后的 store ,获取记录数 为 store.getCount();
获取第 i 条记录为 store.getAt(i);
本文介绍了如何在ExtJS中使用JSONStore加载JSON文件。通过创建Store并指定数据源,然后调用load方法加载数据,并提供回调函数处理加载后的数据记录。在回调函数中,可以通过Record数组获取并操作数据,例如显示记录的name属性。
291

被折叠的 条评论
为什么被折叠?



