.serialize() / .serializeArray() / $.param()——将form表单的数据转为字符串 / 转为JSON格式 / &序列化

一、.serialize()——将form表单的数据转为字符串

描述:将DOM元素内容序列化,返回字符串,用于ajax请求

写法:元素.serialize()

简化ajax数据:

$.get("get1.php", {
    username: $("#username").val(),
    content: $("#content").val(),
}, function (data, textStatus) {
    $("#resText").html(data);
});
//简化后
$.get("get1.php", $("#form1").serialize(), function (data, textStatus) {
    $("#resText").html(data); // 把返回的数据添加到页面上
});
<form id="form1" action="#">
<p>评论:</p>
 <p>姓名: <input type="text" name="username" id="username" /></p>
 <p>内容: <textarea name="content" id="content"  rows="2" cols="20"></textarea></p>
 <p><input type="button" id="send" value="提交"/></p>
</form>

 

二、 .serializeArray()——将form表单的数据返回json格式的数据

描述:将DOM元素序列化后,返回json格式的数据

写法:元素.serializeArray()

console.log( $('form').serializeArray() );
结果是
[
     { name : 'a' , value : '1' },
     { name : 'b' , value : '2' },
     { name : 'c' , value : '3' }
] 
<form>
    <input type="text" name="a" value="1">
    <input type="text" name="b" value="2">
    <input type="text" name="c" value="3">
</form>

 

三、$.param()——把数组 / 对象按照key / value进行序列化

写法:$.param(对象)

var obj = { a: 1, b: 2, c: 3 };
var k = $.param(obj);
alert(k)        // 输出  a=1&b=2&c=3

 

posted @ 2017-05-26 15:56  念念念不忘  阅读(756)  评论(0)    收藏  举报