$.fn.serialize,可将表单序列化成字符串;
$.fn.serializeArray,可将表单序列化成数组。
手动添加serializeObject方法,将表单序列化成json对象。
其中,serialize和serializeObject可以直接运用在aJax请求当中的data中。可以说非常方便。
jQuery.prototype.serializeObject=function(){ var a,o,h,i,e; a=this.serializeArray(); o={}; h=o.hasOwnProperty; for(i=0;i<a.length;i++){ e=a[i]; if(!h.call(o,e.name)){ o[e.name]=e.value; } } return o; };
Demo演示:
<form id="myForm"> <input name="name" value="小哥"> <input name="age" value="18"> </form>
console.log($("#myForm").serialize()); console.log($("#myForm").serializeArray()); console.log($("#myForm").serializeObject());
name=%E5%B0%8F%E5%93%A5&age=18 Array[2] 0:Object name:"name" value:"小哥" 1:Object name:"age" value:"18" Object age:"18" name:"小哥" (Object {name: "小哥", age: "18"})
小哥