param()、serialize() 和serializeArray()区别

来源:互联网 发布:淘宝图片分辨率72 编辑:程序博客网 时间:2024/06/05 15:27
1、param():创建数组或对象的序列化表示形式,序列化的值可在生成ajax请求时用于url查询字符串中.
语法:$.param(object);

eg: var obj = {}; 或者 var obj = new Object();
obj.name = "dsy";
obj.age = 25;
obj.address = "jiangxi";
obj.email = "9843938@qq.com";
console.log($.param(obj)) 
//结果:name=dsy&age=25&address=jiangxi&email=9843938%40qq.com



2、serialize():通过序列化表单值来创建url编码文本字符串,可以选择一个或多个表单元素,或表单元素本身,序列化的值可在生成ajax请求时用于url查询字符串中.
语法:$(selector).serialize();

eg:
 <form>
 <div><input type="text" name="a" value="1" id="a" /></div>
 <div><input type="text" name="b" value="2" id="b" /></div>
 <div><input type="hidden" name="c" value="3" id="c" /></div>
 <div>
   <textarea name="d" rows="8" cols="40">4</textarea>
 </div>
 <div><select name="e">
   <option value="5" selected="selected">5</option>
   <option value="6">6</option>
   <option value="7">7</option>
 </select></div>
 <div>
   <input type="checkbox" name="f" value="8" id="f" />
 </div>
 <div>
   <input type="submit" name="g" value="Submit" id="g" />
 </div>
</form>
   $(function(){
     var formArray = $("form").serialize();
        console.log(formArray);
//结果:a=1&b=2&c=3&d=4&e=5
        var formArray = $("input[type='text']").serialize();
        console.log(formArray);
//结果:a=1&b=2
   });

3、serializeArray():通过序列化表单值来创建对象(name 和 value)的数组。可以选择一个或多个表单元素(如输入和/或文本区),或表单元素本身.
语法:$(selector).serializeArray();此方法返回的json对象而非json字符串



eg:
    html:参考上面2中
    var formArray = $("input[type='text']").serializeArray();
      console.log(formArray);
//结果:
[
  {
    name: a
    value: 1
  },
  {
    name: b
    value: 2
  }
]


































阅读全文
0 0