为Ext.form.Action.Submit增强处理复杂返回json对象

Ext.form.Action.Submit.handleResponse只能处理形如{success:ture,info:''}的json返回数据,与SpringMVC结合使用多有不便,只能如此处理:

HashMap<String,String> model = new HashMap<String,String>();
model.put("success", "true");
model.put("info", "保存成功");
return new ModelAndView("/app/customer/list",model);

很是雅观,鉴于前面改写过Ext.form.Action.Submit.run方法,不妨也改写一下Ext.form.Action.Submit.handleResponse,让其支持复杂一点的json数据

Ext.override(Ext.form.Action.Submit,{
handleResponse : function(response){
var opts = this.options;
if(this.form.errorReader){
var rs = this.form.errorReader.read(response);
var errors = [];
if(rs.records){
for(var i = 0, len = rs.records.length; i < len; i++) {
var r = rs.records[i];
errors[i] = r.data;
}
}
if(errors.length < 1){
errors = null;
}
return {
success : rs.success,
errors : errors
};
}
//在options中配置root参数,root:'a.b.c'
if(opts.root){
var l = opts.root.split('.');
var o = Ext.decode(response.responseText);
Ext.each(l,function(n){
if(o[n])
o=o[n];
});
return o;
}
return Ext.decode(response.responseText);
}
});

Ext,真的可以随心所欲的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值