本文導讀:在jQuery中,當我們使用ajax時,常常需要拼裝 input數據以鍵值對(Key/Value)的形式發送到服務器,用JQuery的serialize方法可以輕松的完成這個工作,使用這個方法可以將 表單序列化為鍵值對(key1=value1&key2=value2…)后提交。下面介紹JQuery中serialize()的用法:
語法:
$('form').serialize()
詳細說明
1、.serialize() 方法創建以標准 URL 編碼表示的文本字符串。它的操作對象是代表表單元素集合的 jQuery 對象。
2、.serialize() 方法可以操作已選取個別表單元素的 jQuery 對象,比如 <input>, <textarea> 以及 <select>。不過,選擇 <form> 標簽本身進行序列化一般更容易些
3、只會將”成功的控件“序列化為字符串。如果不使用按鈕來提交表單,則不對提交按鈕的值序列化。如果要表單元素的值包含到序列字符串中,元素必須使用 name 屬性。
4、form里面的name不能夠用 Js、jquery里的關鍵字。
首先有一個form表單: 
<form id="form1"> <input name="name" type="text" value="小明" /> <input name="sex" type="text" value="男" />
<input type="button" id="submit" value="提交" /> </form>
通過ajax將表單內容傳到后台一般是
$.ajax({
type: "POST",
data:"name="+$("input[name='name']").val()+"&sex="+$("input[name='name']").val(),
url: "你的方法名",
dataType: "text",
cache: false,
success: function(data){
if(1==data){
alert("刪除失敗!");
return;
}else{
location.reload();
}
}
});
這種拼接的data非常的麻煩,那么serialize()就很好的解決這個問題了,
$.ajax({
type: "POST",
data:$("#form1").serialize(), //用form的id去找對象 ,也可以使用$('form').serialize(),
url: "你的方法名",
dataType: "text",
// cache: false,
success: function(data){
if(data==1){
alert("刪除失敗!");
}else{
//其他
}
}
});
這樣就把form表單序列化過去了,
傳過去會是 name=小明&sex=男 ;
接下來就可以在后台 繼續處理了。
注:本文由王智磊(王大寶兒)整理編寫,也參考借鑒了很多大神的筆記,分享代碼,分享成功,歡迎各位交流和轉載,轉載請注明出處(博客園:王大寶兒)http://www.cnblogs.com/wangzhilei/
