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成功的!!!

相关文章
相关标签/搜索