[原创] Ext.Ajax.request 与formPanel.getForm().submit() success的区别

formPanel提交方式

Ext.MessageBox.wait('正在提数据, 请稍侯 ...', '提示');
xxxxFormPanel.getForm().submit({
timeout : 60,
success : function(form, action) {
// 业务成功
Ext.MessageBox.updateProgress(1);
Ext.MessageBox.hide();

},
failure : function(form, action) {
// 业务失败
Ext.MessageBox.updateProgress(1);
Ext.MessageBox.hide();

switch (action.failureType) {
case Ext.form.Action.CLIENT_INVALID :
Ext.Msg.alert('错误!', '存在未通过验证的数据!');
break;
case Ext.form.Action.CONNECT_FAILURE :
Ext.Msg.alert('错误!', '连接错误!');
break;
case Ext.form.Action.SERVER_INVALID :
Ext.Msg.alert('错误!', action.result.msg);
}
}
});


Ajax提交方式

Ext.Ajax.request({
url : ...,
params : {
...
},
success : function(response, opts) {
var o = Ext.util.JSON.decode(response.responseText);
if( o.success){
// 业务执行成功
} else{
// 业务执行失败
}
},
failure : function(response, opts) {
// ? 此处怎么做,大家可以说说 :oops:
}
});


二者都可以接收服务器端返回的如下json串:

{success:true/false,msg:'xxxx'}


如果success为true,对于formPanel提交方式,程序会进入success回调函数;对于Ajax提交方式,程序也会进入success回调函数。
而区别在于如果success为false,对于formPanel提交方式,程序会进入failure回调函数;而Ajax提交方式,程序依然会进入success回调函数。

总结:
success的true和false可以用来表示业务的成功或者失败。
1、在formPanel提交方式中,成功后的操作要在success回调函数中进行,失败后的操作在failure回调函数中进行;
2、在Ajax提交方式中,业务的成功失败都应该在success回调函数中进行操作,而true或者false以o.success获得(具体见代码及注释)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值