转自: http://chendlfly.iteye.com/blog/670947
formPanel提交方式
Ajax提交方式
二者都可以接收服务器端返回的如下json串:
如果success为true,对于formPanel提交方式,程序会进入success回调函数;对于Ajax提交方式,程序也会进入success回调函数。
而区别在于如果success为false,对于formPanel提交方式,程序会进入failure回调函数;而Ajax提交方式,程序依然会进入success回调函数。
总结:
success的true和false可以用来表示业务的成功或者失败。
1、在formPanel提交方式中,成功后的操作要在success回调函数中进行,失败后的操作在failure回调函数中进行;
Java代码
- 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提交方式
Java代码
- 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串:
Java代码
- {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获得(具体见代码及注释)。