簡體   English   中英

Extjs4從服務器將數據加載到網格中

[英]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.StoreExt.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM