serialize 和serializeobject 有区别么

 我来答
EvenHHZ
2016-10-25 · 知道合伙人软件行家
EvenHHZ
知道合伙人软件行家
采纳数:13691 获赞数:18844
个人出版图书:《玩转Python网络爬虫》、《玩转Django2.0》

向TA提问 私信TA
展开全部
jQuery有方法$.fn.serialize,可将表单序列化成字符串;有方法$.fn.serializeArray,可将表单序列化成数组。
如果需要其序列化为JSON对象,那么可以基于serializeArray编写方法serializeObject轻松实现:
[javascript] view plain copy print?
//work with jQuery 1.x
jQuery.prototype.serializeObject=function(){
var obj=new Object();
$.each(this.serializeArray(),function(index,param){
if(!(param.name in obj)){
obj[param.name]=param.value;
}
});
return obj;
};

注:当表单中参数出现同名时,serializeObject会取第一个,而忽略后续的。

设有

[html] view plain copy print?
<form>
<input type="text" name="username" />
<input type="text" name="password" />
</form>


[javascript] view plain copy print?
jQuery("form").serialize(); //"username=&password="
jQuery("form").serializeArray(); //[{name:"username",value:""},{name:"password",value:""}]
jQuery("form").serializeObject(); //{username:"",password:""}

20150125更新
===========
+ 此版本不再兼容IE8
+ 修复一个逻辑错误

[javascript] view plain copy print?
//work with jQuery 2.x
jQuery.prototype.serializeObject=function(){
var hasOwnProperty=Object.prototype.hasOwnProperty;
return this.serializeArray().reduce(function(data,pair){
if(!hasOwnProperty.call(data,pair.name)){
data[pair.name]=pair.value;
}
return data;
},{});
};
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式