ExtJS 加載json文件

這裏我們以 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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章