后台的action返回的json格式如下:{"message":null,"success":false,"userDto":{"loginType":[{"id":1,"typeName":"管理员"},{"id":2,"typeName":"普通用户"}],"password":null,"passwordConfirm":null,"username":null},"userType":"success"}
我想问下该如何访问里面的loginType,拿到里面的值呢??我这样试了下,但是还是不行:var proxy =  new Ext.data.HttpProxy({
url:"getUserType",
method:"POST"
});


//创建表头关联
 var record = new Ext.data.Record.create([{
    name:"id",type:"int",mapping:"id"
   },{
    name:"typeName",type:"string",mapping:"typeName"
   }]);

//创建json解析器
var reader = new Ext.data.JsonReader({
root:"userDto.loginType",
fields:record
});

//创建数据商店
var store = new Ext.data.Store({
proxy:proxy,
//autoLoad:true,
reader:reader

});

解决方案 »

  1.   

    在 Store 上面添加 load 事件,在处理函数里可以访问数据
    简单代码如下:...
    //创建数据商店
    var store = new Ext.data.Store({
    proxy:proxy,
    //autoLoad:true,
    reader:reader,
    listeners: {
    'load', function(store, records, option){
    alert(store.getAt(0).get('typeName'));
    }
    }
    });
    store.load();参数store是store数据本身,records是store的记录集,option是store的加载选项
      

  2.   

    var store = new Ext.data.Store({
        proxy:proxy,
        //autoLoad:true,
        reader:reader
    });
    store.load({callback:function(){
        var userDto = store.getAt(0).get(userDto');
        var loginTypes = userDto.loginType;
        alert(loginTypes.length+","+loginTypes[0].id);
        }
    });