日期:2014-05-16  浏览次数:20649 次

EXT中load数据得到成功返回的数据怎么获得呢?还有一个JS错误 - Web 开发 / Ajax
我绘制了一个panel界面。进行修改功能的界面功能。
从action得到查询的结果返回给界面,在action中得到所有的结果,但是我想取出来这个结果,怎么把里面的属性值逐个取出来呢?

var theform = Ext.getCmp("infoPanel");
theform.form.load({
url :‘edit.action’,
success : function(form, action) {
这里action里面的数据都有了,但是我需要将里面的data里面的数据的几个属性拿出来赋值给userId
this.userId = action.result.userEntity.id;// .get("id");

},
failure : function(form1, action) {
var json = action.response.responseText;
var o = eval("(" + json + ")"); //如果这个执行失败,这句话在IE中会报出o变量未定义。不知道为什么?
  Ext.example.msg('编辑', o.message);
}
});
},

上面action的里面的数据如图所示
]

------解决方案--------------------
使用Ext的 转换函数
JScript code

Ext.decode(response.responseText)

------解决方案--------------------
success : function(form, action) {
 console.dir(form);//用firebug调试,在这里写上这句,Firefox会列出action的所有属性和方法,以 及对应的值,安顺序调用就可以了,调好了就把这句去掉就可以了,我都是用的这个,建议你用用,很方便!
},

------解决方案--------------------
这里action里面的数据都有了,但是我需要将里面的data里面的数据的几个属性拿出来赋值给userId
this.userId = action.result.data.userEntity.id;// .get("id");

第二个问题可能是返回的数据格式有误造成的...


------解决方案--------------------
这个form的load方法的返回值是和Ext.Ajax的返回值有点不同,
1,不知道你返回值的格式是什么样的,比如
XML code
{
    success: true,
    data: {
        clientName: "Fred. Olsen Lines",
        portOfLoading: "FXT",
        portOfDischarge: "OSL"
    }
}