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();
返回值:將表單內(nèi)容序列化成一個字符串。
這樣在ajax提交表單數(shù)據(jù)時,就不用一一列舉出每一個參數(shù)。只需將data參數(shù)設置為 $("form").serialize() 即可。
其核心方法是$.param(),用來對一個數(shù)組或?qū)ο蟀凑誯ey/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結(jié)構(gòu)(鍵值對)的對象。
比如,[{"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-04jQuery實現(xiàn)的多張圖無縫滾動效果【測試可用】
這篇文章主要介紹了jQuery實現(xiàn)的多張圖無縫滾動效果,可實現(xiàn)自定義向左或向右滾動的功能,涉及jQuery結(jié)合時間函數(shù)動態(tài)操作頁面元素屬性的相關技巧,需要的朋友可以參考下2016-09-09jQuery的三種bind/One/Live/On事件綁定使用方法
jQuery是 一款優(yōu)秀的JavaScript框架,在舊版里主要用bind()方法,在新版里又多了兩種One(),Live(),下面介紹這幾種方法的使用2017-02-02jQuery實現(xiàn)調(diào)整表格單列順序完整實例
這篇文章主要介紹了jQuery實現(xiàn)調(diào)整表格單列順序的方法,結(jié)合完整實例形式分析了jQuery響應鼠標事件及動態(tài)操作頁面元素的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-06-06