如何从服务器加载网格数据我可以将数据从存储加载到网格但不能将数据从服务器加载到存储然后加载到网格服务器API详细信息:
http://192.1681.102:8080/Petcrumbs/member/getMemberList
请求参数:
{ “PAGENUMBER”:5}
{ “listOfMembers”: [ { “地址”: { “州”:“MH”, “国家”:“印度”, “城市”:“浦那”, “addressId”:52, “streetName”:“Karve Road”, “streetNameTwo”:“Nal Stop”, “zipCode”:“412042” }, “名称”:“测试Mmber4”, “密码”:“287974”, “authKey”:“99710ff8d98346f51a7b3df83c16257”, “性别”:“男性”, “deviceToken”:“ldjhakjhdkjahn42,n4lk2jedlkandmandlkand”, “社区”:“Kothrud”, “emailId”:“r.pekam@mb.com”, “电话”:“9096305571”, “image”:null, “memberId”:41, “活跃”:1, “删除”:false, “myPackage”:“黄金”, “joinedDate”:“09-17-2013” } ] “message”:“会员检索成功。”, “成功”:是的 }
{ “listOfMembers”:null, “message”:“无法检索成员。”, “成功”:错误
}
在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']
]
});
请告诉我上面的代码有什么问题?
答案 0 :(得分:1)
您可以修改服务器发送数据的方式吗?最简单的方法是使用Ext.data.Store
与Ext.data.reader.Json
。要使用它,您的JSON应如下所示:
{
"listOfMembers": [
{"attr1":"value1",:"attr2":"value2",...},...
],
"message": "Unable to retrieve members.", "success": false
}
然后就会直截了当。
如果要继续输出,则必须修改阅读器或定义更复杂的对象关系。
答案 1 :(得分:0)
我的猜测是你使用ArrayStore
,它适用于本地硬编码数据(因为它是数组),但是当你想远程加载数据时 - 你应该扩展Ext.data.Store
吗? / p>
答案 2 :(得分:0)
您正在使用ArrayStore,但服务器返回JSON。所以你应该使用JsonStore。或者只是带有配置阅读器的基本商店