1、serialize()方法
描述:序列化表單內容為字符串,用於Ajax請求。
格式:var data = $(form).serialize();
2.serializeArray()方法
描述:序列化表單元素(類似'.serialize()'方法)返回JSON數據結構數據。
注意,此方法返回的是JSON對象而非JSON字符串。需要使用插件或者第三方庫進行字符串化操作。
格式:var jsonData = $(form).serializeArray();
在使用ajax提交表單數據時,以上兩種方法都可以將data參數設置為$(form).serialize()或$(form).serializeArray()。
Demo
$(function() { $(#ajaxBtn).click(function() { var params1 = $(#myform).serialize(); var params2 = $(#myform).serializeArray(); console.log(params1); //name=zhangsan&sex=1&age=20 console.log(params2); //[Object, Object, Object] $.ajax( { type : POST, url : RegisterAction.action, data : params1, success : function(msg) { alert(success: + msg); } }); }) })
從下圖中可以看出兩種方法的不同
1.serialize()方法
格式:var data = $("form").serialize();
功能:將表單內容序列化成一個字符串。
這樣在ajax提交表單數據時,就不用一一列舉出每一個參數。只需將data參數設置為 $("form").serialize() 即可。
2.serializeArray()方法
格式:var jsonData = $("form").serializeArray();
功能:將頁面表單序列化成一個JSON結構的對象。注意不是JSON字符串。
比如,[{"name":"lihui", "age":"20"},{...}] 獲取數據為 jsonData[0].name
http://www.w3school.com.cn/jquery/ajax_serializearray.asp