现有项目中是通过action返回json对象,直接扔给grid显示数据,比如返回json如下
{"list":[{"DEPART_NAME":"研究部","password":"7c4a8d09ca3c26494f8941b","enabled":1,"fkDepartId" :1341,"username":"lxg","id":1344,"cname":"李小刚"},{"DEPART_NAME":"生化","password":"7c4a8d09ca3762af61494f8941b" ,"enabled":1,"fkDepartId":2,"username":"test2","id":115974,"cname":"于洋"},{"DEPART_NAME":"生化","password" :"7c4a8d09ca376c26494f8941b","enabled":1,"fkDepartId":2,"username":"liuyang","id":4419 ,"cname":"刘一"},{"DEPART_NAME":"研究组","password":"d033e22ae35850c4da997","enabled" :1,"fkDepartId":3,"username":"test","id":115890,"cname":"鲁艺"},{"DEPART_NAME":"研究组","password":"35d9eed715664dc" ,"enabled":1,"fkDepartId":3,"username":"lanlan","id":1250,"cname":"蓝雨"},{"DEPART_NAME":"研究组","password" :"7c4a8d09ca3762a94f8941b","enabled":1,"fkDepartId":3,"username":"admin","id":1,"cname" :"超级管理员"},{"DEPART_NAME":"研究组","password":"8d3848f3017ad050a","enabled":1 ,"fkDepartId":3,"username":"yy","id":1241,"cname":"费余翔"}],"totalSize":7,"message":"查询成功","success":true}
现碰到一个问题,是否能取出json里面的message?
经过验证,实际上是取不到的,通过在store.load的时候打印
store.load({params:{start:0,limit:baseGridPageSize}}); store.on('load', function(){ alert( store.getTotalCount() ); alert( store.getAt(6).get("username")); });
实际上store里面经过reader的处理,数据只有list的数据
//定义json数组 var jsonListRecord = Ext.data.Record.create([ {name: 'id'}, {name: 'cname'}, {name: 'username'}, {name: 'enabled'}, {name:'DEPART_NAME'} ]); //----------------------------Http获取json数据------------------------ var store = new Ext.data.Store({ proxy : new Ext.data.HttpProxy( { url : 'system/findUser.action'//FCG/system/userJsondata.jsp }), reader : new Ext.data.JsonReader({ root : 'list', totalProperty : 'totalSize', id : 'id' }, jsonListRecord) });
因此store里面是没有message的,难怪捣鼓很久都是未定义-_-