在jquery中ajax提交表單有post與get方式,在使用get方式時咱們能夠直接使用ajax 序列化表單$('#表單ID').serialize();就好了,下面我來介紹兩個提交表單數據的方法。php
$get方式提交表單html
get() 方法經過遠程 HTTP GET 請求載入信息jquery
格式ajax
$(selector).get(url,data,success(response,status,xhr),dataType)服務器
請求 test.php 網頁,傳送2個參數,忽略返回值:異步
$.get("test.php", { name: "John", time: "2pm" } );函數
顯示 test.php 返回值(HTML 或 XML,取決於返回值):post
代碼以下:this
$.get("test.php", function(data){
alert("Data Loaded: " + data);
});url
ajax 序列化表單
$.Form.serialize( NameValuePair )
虛擬一個表單,並設置表單控件名與值。
參數
NameValuePair
必選項。設置虛擬的表單控件。該參數形式爲:{ name1=value, name2=value2, ......}
返回值
虛擬表單序列化後的字符串,其格式如:username=%E5%95%8A%E8%94%A1&password=123456
代碼以下:
<form>
<div><inputtype="text"name="a"value="1"id="a"/></div>
<div><inputtype="text"name="b"value="2"id="b"/></div>
<div><inputtype="hidden"name="c"value="3"id="c"/></div>
<div>
<textareaname="d"rows="8"cols="40">4</textarea>
</div>
<div><selectname="e">
<optionvalue="5"selected="selected">5</option>
<optionvalue="6">6</option>
<optionvalue="7">7</option>
</select></div>
<div>
<inputtype="checkbox"name="f"value="8"id="f"/>
</div>
<div>
<inputtype="submit"name="g"value="Submit"id="g"/>
</div>
</form>
.serialize() 方法能夠操做已選取個別表單元素的 jQuery 對象,好比 <input>, <textarea> 以及 <select>。不過源碼天空,選擇 <form> 標籤自己進行序列化通常更容易些:
$('form').submit(function(){
alert($(this).serialize());
returnfalse;
});
輸出標準的查詢字符串:
a=1&b;=2&c;=3&d;=4&e;=5
$POST方式提交表單
$.post
jQuery.post( url, [data], [callback], [type] ) :使用POST方式來進行異步請求
參數:
url (String) : 發送請求的URL地址.
data (Map) : (可選) 要發送給服務器的數據,以 Key/value 的鍵值對形式表示。
callback (Function) : (可選) 載入成功時回調函數(只有當Response的返回狀態是success纔是調用該方法)。
代碼以下:
$.post("momsg.php",{"tel":$("#username").val()},function(data){
if(data==0)//0 成功 1 不成功 2 手機號碼格式不對
{
//
}
});
經過 AJAX POST 請求改變 div 元素的文本:
代碼以下:
$("input").keyup(function(){ txt=$("input").val(); $.post("demo_ajax_gethint.asp",{suggest:txt},function(result){ $("span").html(result); });});