博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
form 转json,将form表单中的数据序列化数组后转换为Json
阅读量:4346 次
发布时间:2019-06-07

本文共 906 字,大约阅读时间需要 3 分钟。

页面中引用了jquery,第一想到的就是序列化,但是序列化后的表单字段为a=1&b=2这种。

这里写一个jquery的扩展方法

$.fn.serializeObject = function()    {       var o = {};       var a = this.serializeArray();       $.each(a, function() {           if (o[this.name]) {               if (!o[this.name].push) {                   o[this.name] = [o[this.name]];               }               o[this.name].push(this.value || '');           } else {               o[this.name] = this.value || '';           }       });       return o;    };    

这个方法是将表单序列化成json的。

 

像这样调用:

var para = $('form').serializeObject() ;   para = JSON.stringify(para) ;   

先把表单数据序列化为一个json对象,然后将json对象转换成一个json字符串。

这样para就是一个json字符串啦。就可以发起请求了

注意:这个只能获取到所有的input标签,如果想获取下拉框的话,需要单独获取,然后把获取到的值拼接进去。例如:

var data=$("#fm").serializeObject();JSON.stringify(data);data.txt2="1111";//修改值var sel1=$("#sel1").val();//获取下拉框的值data.sel1=sel1;//拼接进去

  

转载于:https://www.cnblogs.com/shuai7boy/p/8334182.html

你可能感兴趣的文章
java基础之集合:List Set Map的概述以及使用场景
查看>>
Python 线程 进程 协程
查看>>
iOS语言中的KVO机制
查看>>
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
查看>>
响应式web设计之CSS3 Media Queries
查看>>
实验三
查看>>
机器码和字节码
查看>>
环形菜单的实现
查看>>
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
UIView的layoutSubviews,initWithFrame,initWithCoder方法
查看>>
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>
sql语言的一大类 DML 数据的操纵语言
查看>>
VMware黑屏解决方法
查看>>