您的位置:首页 > 产品设计 > UI/UE

Ext.Ajax.request与form.getForm().submit的区别

2013-07-24 14:17 585 查看
function formSubmit(){   
   if (form.getForm().isValid()) { //验证表单填写的数据是否有效   
    form.getForm().submit({     //调用basicForm的submit方法   
     waitTitle : '提示',//标题   
     waitMsg : '正在提交数据请稍后...',//提示信息   
     url : 'eidtBooktype.action',   //将要把表单发送到哪里   
     method : 'post',   //指定发送方式   
     params : 'booktype', //携带的参数   
     success : function(form, action){  //form指这个表单 action指返回内容   
      var flag=action.result.msg;   
      window.returnValue='SUCC';   
      Ext.Msg.alert('提示',flag,function(){   
       window.close();   
      });   
     },   
     failure : function(form,action) {   
      var flag=action.result.msg;   
      Ext.Msg.alert('操作', flag);   
     }   
    });   
   }   
}  
 
<PRE class=Ext.Ajax.request name="code">Ext.Ajax.request({   
         url : 'deleteBooktypes.action',   
        method : 'post',   
        params : {delids:deleteids.toString()},   
        success : function(form,action) {   
         var respText = Ext.util.JSON.decode(form.responseText); //把字符串变为json格式   
         var msg=respText.msg; //获取里面的值的方法与上面稍有不同   
         Ext.MessageBox.alert('提示',msg,function(){   
          bookTypeStore.reload();   
         });   
        },   
        failure : function(response,options) {   
         var respText = Ext.util.JSON.decode(response.responseText); //吧字符串变为json格式   
         var msg=respText.msg;   
         Ext.MessageBox.alert('提示',msg,function(){   
          bookTypeStore.reload();   
         });   
        }   
       });   
 </PRE>   
<P style="FONT-FAMILY: Simsun; WHITE-SPACE: normal; FONT-SIZE: medium"> </P>  
 
最明显就是success和failure时候function的参数
Ext.Ajax.request的function(response,options),option非常有用,用response.responseText获得返回参数,注意这个地方的response参数可以换成action
form.getForm().submit的function(form, action),action很有用,用action.result.msg获得返回值
还有个最明显区别是Ext.Ajax.request不可以用waitMsg
 
 
 
相同点:都属于Ajax提交方式!
不同点:Ext.Ajax.request是Ext.data.connection的一个实例
form1.getForm().submit是BasicForm的一个实现方式
使用上的区别:
1.form1.getForm().submit常用在表单提交的时候,就是说要提交页面数据,比如新增和修改数据页面
2.Ext.Ajax.request常用在根据参数提交的时候,比如删除,我们把页面选中的ID进行遍历,封装在一个Array中,作为一个参数做Ajax的提交
例子:
首先是form1.getForm().submit的例子:
function formSubmit(){  
   if (form1.getForm().isValid()) {  
    form1.getForm().submit({  
     waitTitle : '提示',//标题  
     waitMsg : '正在提交数据请稍后...',//提示信息  
     url : 'eidtBooktype.action',  
     method : 'post',  
     params : 'booktype',  
     success : function(form, action) {  
      var flag=action.result.msg;  
      window.returnValue='SUCC';   
      Ext.Msg.alert('提示',flag,function(){  
       window.close();  
      });  
     },  
     failure : function(form,action) {  
      var flag=action.result.msg;  
      Ext.Msg.alert('操作', flag);  
     }  
    });  
   }  

 
 

其次是一个Ext.Ajax.request的例子://顺便加个LoadMask,啧啧
var myMask = new Ext.LoadMask(Ext.getBody(), {   //LoadMask效果
                     msg : "Please wait..."
                 }); 
myMask.show();
Ext.Ajax.request({  
         url : 'deleteBooktypes.action',  
        method : 'post',  
        params : {delids:deleteids.toString()},  
        success : function(form,action) {  
         //alert(response.responseText); //返回的json值的字符串  
         var respText = Ext.util.JSON.decode(form.responseText); 
//吧字符串变为json格式  
         var msg=respText.msg;  
         Ext.MessageBox.alert('提示',msg,function(){  
          bookTypeStore.reload();  
         });  
        },  
        failure : function(response,options) {  
          myMask.hide();
          Ext.MessageBox.show({
          title : "错误信息",
          msg : response.error || response.responseText,
          buttons : Ext.MessageBox.OK,
          icon : Ext.MessageBox.ERROR
        }  
       }); 
 myMask.destroy();
 

使用是的区别:
最明显就是success和failure时候function的参数啦!
Ext.Ajax.request的function(response,options),option非常有用,用response.responseText获得返回参数,注意这个地方的response参数可以换成action
form1.getForm().submit的function(form, action),action很有用,用action.result.msg获得返回值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息