[英]Extjs4 Load data in grid from server
如何從服務器在網格中加載數據我能夠將數據從商店加載到網格,但不能將數據從服務器加載到商店,然后再加載到網格Server API Details:
http://192.1681.102:8080 / Petcrumbs / member / getMemberList
請求參數:
{“ pageNumber”:5}
{“ listOfMembers”:[{“ address”:{“ state”:“ MH”,“ country”:“印度”,“ city”:“浦那”,“ addressId”:52,“ streetName”:“ Karve Road” ,“ streetNameTwo”:“ Nal Stop”,“ zipCode”:“ 412042”},“ name”:“ Test Mmber4”,“ password”:“ 287974”,“ authKey”:“ 99710ff8d98346f51a7b3df83c16257”,“ gender”:“男性“,” deviceToken“:” ldjhakjhdkjahn42,n4lk2jedlkandmandlkand“,” community“:” Kothrud“,” emailId“:” r.pekam@mb.com“,” phone“:” 9096305571“,” image“:null,” memberId “:41,”活動“:1,”已刪除“:false,” myPackage“:”金牌“,” joinedDate“:” 09-17-2013“}],”消息“:”成員已成功檢索。“,”成功”:true}
{“ listOfMembers”:null,“ message”:“無法檢索成員。”,“ success”:false
}
在EXTJS商店中
Ext.define('PetCrumbs.store.Members', {
extend : 'Ext.data.ArrayStore',
model : 'PetCrumbs.model.Member',
autoLoad : true,
//storeId : 'Data',
proxy : {
type : 'ajax',
url : '/Petcrumbs/member/getMemberList',
method : 'POST',
headers : {
'Content-Type' : 'application/json',
'Accept' : 'application/json'
},
jsonData : {
pageNumber : "5"
},
reader : {
type : 'json',
root: 'listOfMembers',
successProperty: 'success'
}
}
});
當我有這樣的存儲(硬編碼數據)時,網格顯示數據:
Ext.define('PetCrumbs.store.Members', {
extend: 'Ext.data.ArrayStore',
model: 'PetCrumbs.model.Member',
data: [
['1','1002','Asin','kothroud@gmail.com','kothrud,Pune','MH',
'Pune','411051','Male','Gold','Kothrud','1'],['2','1012','Karina','Pashan@gmail.com',
'Pashan,Pune','MH','Pune','411051','Female','Silver','Pashan','0']
]
});
請告訴我上述代碼有什么問題?
您可以修改服務器發送數據的方式嗎? 最簡單的方法是將普通的Ext.data.Store
與Ext.data.reader.Json
一起使用。 要使用此格式,您的JSON應該類似於:
{
"listOfMembers": [
{"attr1":"value1",:"attr2":"value2",...},...
],
"message": "Unable to retrieve members.", "success": false
}
然后它將很簡單。
如果要繼續輸出,則必須修改閱讀器或定義更復雜的對象關系。
我的猜測是您使用ArrayStore
,它與本地硬編碼數據(因為它是數組)很好地配合使用,但是當您想遠程加載數據時,應該擴展Ext.data.Store
呢?
您正在使用ArrayStore,但是服務器返回JSON。 因此,您應該使用JsonStore。 或者只是帶有已配置閱讀器的基本商店
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.