ExtJS 加载json文件

本文介绍了如何在ExtJS中使用JSONStore加载JSON文件。通过创建Store并指定数据源,然后调用load方法加载数据,并提供回调函数处理加载后的数据记录。在回调函数中,可以通过Record数组获取并操作数据,例如显示记录的name属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里我们以 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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值