ajax提交form表单方法

Posted 天专Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax提交form表单方法相关的知识,希望对你有一定的参考价值。

转载声明:本文转载自「web前端开发」


ajax提交form表单,这在日常项目中是经常用到的。前台无论是简单的html、jsp或者使用了easyui框架,只要是提交表单一般都会使用到ajax。


ajax提交表单分为两种:

1、无返回结果的,就是把表单数据直接提交给后台,让后台直接处理;

最简单的就是$(“#formid”).submit();直接将form表单提交到后台。


2、返回有结果的,这种情况下,后台不管是执行成功还是失败,最终的信息都需要返回到前台。


第二种是使用最多的一种,因为程序的执行成功与否都需要给用户提示,程序一般也都是多步完成的,执行完插入操作,需要发起流程,这就需要在界面上判断成功与否。ajax本身属于有返回结果的一类,其中的success方法就是处理后台返回结果的。


ajax提交表单有返回结果的有两种实现方式:


1、将form表单数据序列化

<span style="font-size:18px;">  $.ajax({      type: "POST",      url:your-url,      data:$('#yourformid').serialize(),      async: false,      error: function(request) {          alert("Connection error");      },      success: function(data) {          //接收后台返回的结果      }    });</span>  

需要注意的是,使用这种方法的前提是form表单中的项一定要有name属性,后台获取的键值对为key=name值,value=各项值。

注意:无论是input标签还是span标签或者其他标签,一定要有name属性,没有name属性后台是获取不到该项的。


2、通过窗口查找form提交

<span style="font-size:18px;">  
// 提交表单    var obj = document.getElementById("xx_iframe").contentWindow;    obj.$("#yourform").form("submit",{      success :function(data){          //对结果处理      }      });</span>

因为在当前界面上弹出对话框,然后在对话框上的按钮触发对话框中表单提交,对话框又是链接的另外的html页面,如此通过$(“#formid”)的方式是找不到对话框中的form的,因此这种情况下只能使用这种方式提交表单。

另外ajax中封装的get,post请求也都属于有返回结果的一类。


总的来说,无返回结果的和有返回结果的(将form表单数据序列化+通过窗口实现form提交),form表单都必须要有name属性。


本文完~






以上是关于ajax提交form表单方法的主要内容,如果未能解决你的问题,请参考以下文章

ajax提交form表单

使用JQuery的.ajax()提交表单后当前页面表单内容被清空,请问如何保留数据?

使用JQuery的ajax提交表单能否使用一个变量来获取form的id

form表单submit提交内容,跟ajax异步提交form表单的区别,

使用ajax方法实现form表单的提交

form表单提交转为ajax方式提交