ExtJS中Ext.Ajax.request與form1.getForm().submit的基本區別

相同點:都屬於Ajax提交方式!json

不一樣點:Ext.Ajax.request是Ext.data.connection的一個實例post

              form1.getForm().submit是BasicForm的一個實現方式url

使用上的區別:spa

1.form1.getForm().submit經常使用在表單提交的時候,就是說要提交頁面數據,好比新增和修改數據頁面code

2.Ext.Ajax.request經常使用在根據參數提交的時候,好比刪除,咱們把頁面選中的ID進行遍歷,封裝在一個Array中,做爲一個參數作Ajax的提交orm

例子:字符串

首先是form1.getForm().submit的例子:get

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的例子:it

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) {
         var respText = Ext.util.JSON.decode(response.responseText); //吧字符串變爲json格式
         var msg=respText.msg;
         Ext.MessageBox.alert('提示',msg,function(){
          bookTypeStore.reload();
         });
        }
       });

使用是的區別:io

最明顯就是success和failure時候function的參數啦!

Ext.Ajax.request的function(response,options),option很是有用,用response.responseText得到返回參數,注意這個地方的response參數能夠換成action

form1.getForm().submit的function(form, action),action頗有用,用action.result.msg得到返回值

還有個最明顯區別是Ext.Ajax.request不能夠用waitMsg,真是Ext的一個敗筆呀!!!

 

還有一個最值得注意的地方:

form1.getForm().submit 返回的值中必須包含success:true或者是failue:true

這個是最終判斷執行是否成功的關鍵!!!

而Ext.Ajax.request則不須要該參數,只要是不拋出異常,確定是success成功的!!!

相關文章
相關標籤/搜索