jQuery 表單序列化實例代碼
廢話不多說了,直接給大家貼代碼了,具體代碼如下所述:
$(function(){
$('#send').click(function(){
$.ajax({
type: "GET",
url: "test.json",
data: {username:$("#username").val(), password:$("#password").val()}, // 參數(shù)為對象
dataType: "json",
success: function(data){
// code...
}
});
});
});
$(function(){
$('#send').click(function(){
var username = $("#username").val();
var password = $("#password").val();
$.ajax({
type: "GET",
url: "test.json",
data: "username"+username+"&password"+password, // 參數(shù)為字符串拼接,并用&連接
dataType: "json",
success: function(data){
// code...
}
});
});
});
以上是一段常規(guī)的ajax請求代碼,其中分別列舉了data參數(shù)的兩種傳遞格式。
為了簡便ajax請求時的data參數(shù)獲取,jquery定義了幾個快速的方法。
1.serialize()
用法:var data = $("form").serialize();
返回值:將表單內容序列化成一個字符串。
這樣在ajax提交表單數(shù)據(jù)時,就不用一一列舉出每一個參數(shù)。只需將data參數(shù)設置為 $("form").serialize() 即可。
其核心方法是$.param(),用來對一個數(shù)組或對象按照key/value進行序列化,
var obj = {first:"one",last:"two"};
var str = $.param(obj);
console.log(str); // first=one&last=two
另外,使用serialize有個好處是自帶中文編譯處理。所以,推薦使用serialize。
2.serializeArray()
用法:var jsonData = $("form").serializeArray();
返回值:將頁面表單序列化成一個JSON結構(鍵值對)的對象。
比如,[{"name":"lihui", "age":"20"},{...}] 獲取數(shù)據(jù)為 jsonData[index].name
綜上:在使用ajax提交表單數(shù)據(jù)時,data參數(shù)設置為$(form).serialize()或$(form).serializeArray()都可以。另外有些細節(jié)建議參考w3c。
最后補充一個完整實例。
html:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form id="demo">
<input type="text" value="demo1" name="demo1">
<input type="text" value="demo2" name="demo2">
<input type="text" value="demo3" name="demo3">
<input type="submit" value="提交" id="submit">
</form>
</body>
</html>
JavaScript:
<script>
// 別忘了引入jquery !!!
$(function(){
$("#submit").click(function(){
// var data = $("form").serializeArray();
var data = $("form").serialize();
$.ajax({
type:"GET",
url:"1.php",
data:data,
dataType:"json",
success:function(data){
console.log(data);
},
error:function(xhr,error){
console.log(error);
}
})
})
})
</script>
php 提醒:需要配置php環(huán)境并開啟服務器
<?php echo json_encode($_GET); ?>
以上所述是小編給大家介紹的jQuery 表單序列化實例代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關文章
基于jquery實現(xiàn)的服務器驗證控件的啟用和禁用代碼
用戶點擊下一步時,不對Display=none的新增區(qū)域表單進行驗證,需要在用戶點擊“取消增加時”,禁用服務器驗證控件。反之,啟用服務器驗證控件。2010-04-04
jQuery實現(xiàn)的多張圖無縫滾動效果【測試可用】
這篇文章主要介紹了jQuery實現(xiàn)的多張圖無縫滾動效果,可實現(xiàn)自定義向左或向右滾動的功能,涉及jQuery結合時間函數(shù)動態(tài)操作頁面元素屬性的相關技巧,需要的朋友可以參考下2016-09-09
jQuery的三種bind/One/Live/On事件綁定使用方法
jQuery是 一款優(yōu)秀的JavaScript框架,在舊版里主要用bind()方法,在新版里又多了兩種One(),Live(),下面介紹這幾種方法的使用2017-02-02

