表單提交的方法有四種:1、“$.ajaxSubmit”方法,需使用“jquery.form”插件;2、“$.getJSON”方法,以GET方式提交數(shù)據(jù);3、“$.post”方法,接收相對大的數(shù)據(jù);4、“$.ajax”方法,普通封裝異步方法。
本教程操作環(huán)境:windows10系統(tǒng)、jquery3.2.1版本、Dell G3電腦。
jquery表單提交的方法有哪幾種
在jQuery中提交表單的方式有很多種,現(xiàn)在來講一下經(jīng)常用到的四種,分別是ajaxSubmit()、getJSON()、post()、ajax()。
一、$.ajaxSubmit方法
使用ajaxSubmit()來提交表單首先要使用第三方插件jquery.form來實現(xiàn)。
一般情況下,直接用form提交的話,提交后的當(dāng)前頁面會跳轉(zhuǎn)到form中的action所指向的頁面,假如我們不想提交表單后頁面發(fā)生跳轉(zhuǎn),那么我們就可以使用ajaxSubmit()方法來提交。
接下來我們看一下ajaxSubmit()提交的寫法:
Html:
<form id="myForm" action="url" method="post"> <input type="text" name="id"/> <button id="btnSubmit">提交</button> </form>
**jQuery:**1、原始寫法(該寫法不用在form表單里面填寫路徑)
2、簡便的寫法
二、$.getJSON方法
JSON相對于傳統(tǒng)的通過GET和POST直接傳送裸體數(shù)據(jù)來講,JSON在結(jié)構(gòu)上更為合理,也更為安全。getJSON()函數(shù)只是設(shè)置了JSON函數(shù)的ajax()函數(shù)的簡化版本,相對于get()和post()是傳遞數(shù)據(jù)是有一定的優(yōu)勢就是可以跨越使用。
注:因為 $ .getJSON是以GET方式提交數(shù)據(jù)的,所以不能提交過大的數(shù)據(jù)量,可選$.post來提交。
寫法:Html:
<form id="myForm"> <input type="text" name="id"/> <button onclick="btnSubmit()">提交</button> </form>
jQuery:
三、$ .post方法
post()函數(shù)和getJSON()函數(shù)的寫法沒有什么區(qū)別,而post有個特殊之處就是要聲明數(shù)據(jù)格式,即是type,type是請求的數(shù)據(jù)類型,可以是json、html等類型,如果我們設(shè)置參數(shù)為:json的話,那么返回的格式則是json格式的;如果沒有設(shè)置的話,返回的格式都是字符串。
上面有說到,post()函數(shù)可以用來接收相對大的數(shù)據(jù)量,這是相對于其它方法的一個優(yōu)勢,通常很多情況下我們都會選擇用post()方法進(jìn)行提交表單。
來看一下它的寫法:
Html:(和$.getJSON提交的html的寫法一樣)
jQuery:
//提交按鈕的點擊事件 function btnSubmit(id) { //獲取頁面數(shù)據(jù) var id = $("#myForm [name='id']").val(); //提交表單 $.post("url", //請求路徑 { id: id //參數(shù) }, function (?data) { if (data.State) { alert(data.Text); } else { alert(data.Text); } }, "json"); }
四、$.ajax方法
$ .ajax是一種常用的普通封裝異步方式。
Html:(和$.getJSON提交的html的寫法一樣)
jQuery:
注:一般在簡單情況下,$.ajax可以不帶任何參數(shù)直接使用。
視頻教程推薦:jQuery視頻教程