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