zoukankan      html  css  js  c++  java
  • 【转】Ext.Ajax.request 与formPanel.getForm().submit() success的区别

    转自: http://chendlfly.iteye.com/blog/670947

    formPanel提交方式 
    Java代码  收藏代码
    1. Ext.MessageBox.wait('正在提数据, 请稍侯 ...''提示');  
    2. xxxxFormPanel.getForm().submit({  
    3.     timeout : 60,  
    4.     success : function(form, action) {  
    5.         // 业务成功  
    6.         Ext.MessageBox.updateProgress(1);  
    7.         Ext.MessageBox.hide();  
    8.   
    9.     },  
    10.     failure : function(form, action) {  
    11.         // 业务失败  
    12.         Ext.MessageBox.updateProgress(1);  
    13.         Ext.MessageBox.hide();  
    14.   
    15.         switch (action.failureType) {  
    16.             case Ext.form.Action.CLIENT_INVALID :  
    17.                 Ext.Msg.alert('错误!''存在未通过验证的数据!');  
    18.                 break;  
    19.             case Ext.form.Action.CONNECT_FAILURE :  
    20.                 Ext.Msg.alert('错误!''连接错误!');  
    21.                 break;  
    22.             case Ext.form.Action.SERVER_INVALID :  
    23.                 Ext.Msg.alert('错误!', action.result.msg);  
    24.         }  
    25.     }  
    26. });  


    Ajax提交方式 
    Java代码  收藏代码
    1. Ext.Ajax.request({  
    2.     url : ...,  
    3.     params : {  
    4.         ...  
    5.     },  
    6.     success : function(response, opts) {  
    7.         var o = Ext.util.JSON.decode(response.responseText);  
    8.         if( o.success){  
    9.             // 业务执行成功  
    10.         } else{  
    11.             // 业务执行失败  
    12.         }  
    13.     },  
    14.     failure : function(response, opts) {  
    15.         // ? 此处怎么做,大家可以说说  :oops:   
    16.     }  
    17. });  


    二者都可以接收服务器端返回的如下json串: 
    Java代码  收藏代码
    1. {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获得(具体见代码及注释)。 

  • 相关阅读:
    DevExpress9.3 汉化(winform)
    关于XtraGrid的CustomUnboundColumnData事件的触发条件 (收藏)
    解决DBConCurrencyException并发冲突异常(收藏)
    Devexpress控件使用总结版本9.3
    DBConcurrencyException 极端解决方案 (收藏)
    S8500 与电脑端无法正常连接
    Devexpress 10.1.6 源代码重新编译成功(DXperience 10.1.6 重新编译)附所有需要用到的资源下载地址 (收藏)
    BugTracker
    DevExpress控件学习XtraGrid控件
    LINQ:创建IQueryable Provider<1>
  • 原文地址:https://www.cnblogs.com/abinxm/p/2043942.html
Copyright © 2011-2022 走看看