位置: 编程技术 - 正文

基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)(用javascript)

编辑:rootadmin

推荐整理分享基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)(用javascript),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js基于什么,编写javascript,javascript怎么用,javascript基于什么的语言,编写javascript,编写javascript,javascript基于什么的语言,用javascript,内容如对您有帮助,希望把文章链接给更多的朋友!

表单序列化类型的数据是指url传递的数据的格式,形如"key=value&key=value&key=value"这样的key/value的键值对。一般来说使用jQuery的$.fn.serialize函数能达到这样的效果。如何将这样的格式转化为对象?

  我们知道使用jQuery的$.fn.serializeArray函数得到的是一个如下结构的对象

  这是一个对象数组,但有时候我们希望得到的是如下结构的对象

  所以这里需要一个转化函数。

处理步骤如下:

  1.使用"&"分隔将每一个键值对分开然后循环处理每一个键值对

基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)(用javascript)

  2.从"="符号切分指定的键值对,并对每个键和值使用decodeURIComponent解析uri 组件编码(因为url传递的序列化数据一般都是经过uri组件编码的)

  3.如果值包含"="符号,需要额外处理(值合并)。

  这里面有一个处理,就是值没有的时候就不会往最终对象里面添加。这个可以根据自己的情况选择删除这段代码与否

  4.如果键是“obj.obj.obj”这种由"."符号链接的,需要将它作为对象包含对象来处理。处理的方法是将键通过"."分解,然后去查看临时对象obj中是否已经包含分解出来的对象,如果是则将数据附加到已有的对象上。源码如下

  这里面我们看到网上有对赋值部分是这么处理的

  这个很有问题,一个是不能正确处理4中对象包含对象的问题(尤其是有两个元素拥有同一个父对象的时候,比如"test.id=1&test.name='chua'"都拥有父对象test)。另外一个就是值attributeValue中包含单引号、双引号时无法正确处理。所以使用赋值"="最保险。

  所以最终完整的源码如下

以上内容是基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象),希望本文分享能够给大家带来帮助。

js运动应用实例解析 本文为大家提供了两个js运动应用实例,分享给大家,具体实现内容如下应用1,完成如下效果:js代码如下:scriptsrc="move.js"/scriptscriptwindow.onload=function(){

js实现瀑布流的三种方式比较 瀑布流是一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用

原生JavaScript实现瀑布流布局 本文实例讲解了原生JavaScript实现瀑布流布局详细代码,分享给大家供大家参考,具体内容如下效果图:具体代码:window.onload=function(){waterfall('main','pin');

标签: 用javascript

本文链接地址:https://www.jiuchutong.com/biancheng/385574.html 转载请保留说明!

上一篇:基于JavaScript实现网页倒计时自动跳转代码(javascript基于什么的语言)

下一篇:js运动应用实例解析(js做运算)

  • 递延所得税资产和递延所得税负债
  • 合同执行过程中应该怎么做
  • 税收的作用是什么
  • 应交税费科目的借贷方向
  • 房地产按揭是什么意思
  • 进项多少就开多少的票吗
  • 资产报废账务处理资产处置损益
  • 从对公账户提取备用金违法吗
  • 营改增对建筑业的影响有哪些
  • 企业法人投资股4 账户
  • 发票选择确认平台怎么选
  • 以前纳税申报表在哪里查询
  • 取得专用发票不交增值税
  • 减税降费在中国 应形成制度性
  • 建筑装饰行业税负
  • 货币资金闲置对企业偿债能力的影响
  • 小规模企业增值税税率
  • 进项发票认证抵扣会计分录
  • 技术合同 免税
  • 职工养老金怎么交费
  • 鸿蒙系统垃圾清理
  • 上市公司分红派股
  • 材料短缺计入
  • 项目辅材计入什么科目
  • css如何实现文字环绕
  • 资产减值损失和存货跌价准备有什么区别
  • 写一个php访问数据库并读取数据的脚本
  • 如何修改python
  • springboot比spring做了哪些改进
  • nodejs c扩展
  • pilot coat
  • sudo命令功能
  • 教育费附加免征额
  • 货物运输业增值税
  • 利润表年报本期金额填什么
  • 特种设备年检费怎么开具发票
  • 【MongoDB for Java】Java操作MongoDB数据库
  • 计提加计抵减额在财务报表里哪里体现
  • 汽油费入什么会计分录
  • 分组计数什么意思
  • 通过法院拍卖取得的房屋需要法院下确认裁定吗
  • 应交税金应交增值税年底转平吗
  • 资产负债表中其他流动资产包括哪些
  • 6月工资7月发8月申报
  • 实收资本为零该怎么办
  • 抵账协议上可以签字吗
  • 固定资产全套账务处理2021
  • 工程物资属于什么科目资产负债表
  • 帮别人维修东西怎么开票
  • 非包销的视同买断的账务处理是?
  • 非流动资产减少
  • 成本发票怎么入账
  • 预计负债计入哪里
  • 忘交残保金了怎么补交
  • sql高级语句实例
  • ubuntu编辑器在哪
  • ffplay播放视频命令
  • win7怎么添加自启动程序
  • win7升级win10之后视频解码能力变弱
  • 怎样恢复显示桌面图标
  • 如何延迟windows更新
  • svchoost.exe - svchoost是什么进程 有什么作用
  • hpzts04.exe是什么进程 有什么作用 hpzts04进程查询
  • win7怎么禁用触摸屏
  • win7安装kb3170455失败
  • linux中使用find命令查找文件
  • jquery元素隐藏和显示切换
  • 好用的shell终端
  • js html css
  • js解析机制
  • 安卓apk混淆工具
  • javascript 数组删除
  • 现在小规模开专票多少钱
  • 辽宁省国税局网站
  • 怎样在电子税务局查询财务报表
  • 税控盘税务数字证书密码是什么
  • 上海餐饮增值税
  • 济南市市中区二手房
  • 青岛振兴税务师招聘
  • 湖南自然人电子税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设