HTML表单数据转JSON
2019-03-13 23:32:01来源:博客园 阅读 ()
问题描述
后端使用如下方式接收前端传入参数:
1 @PostMapping(value = "/test", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) 2@ResponseBody 3 public Map<String, Object> test(@RequestBody Map<String, Object> map) { 4 System.out.println(map); 5 return map; 6 }
由于使用了 @RequestBody 注解,所以,前端需要传递 JSON 数据。那么,如何将表单数据快速转换为 JSON 字符串呢?
定义如下通用方法:
1 function serializeForm(form){ 2 var obj = {}; 3 $.each(form.serializeArray(),function(index){ 4 if(obj[this['name']]){ 5 obj[this['name']] = obj[this['name']] + ','+this['value']; 6 } else { 7 obj[this['name']] =this['value']; 8 } 9 }); 10 return obj; 11 }
以上方法会返回一个 Object,然后再通过 JSON.stringify(obj) 将 JSON 对象转换为 JSON 字符串即可。
调用 serializeForm() 方法只需要传入 表单对象即可,如: serializeForm($('form'));
<form action="" method="POST" id="myForm"> userName: <input type="text" name="userName" /><br /> password: <input type="password" name="password" /><br /> <input type="button" value="Submit" id="btn" /> </form> <script> $(function() { $('#btn').click(function () { var jsonObj = serializeForm($("form")); var jsonStr = JSON.stringify(jsonObj); $.ajax({ type: 'POST', url: 'http://localhost:8083/test', data: jsonStr, headers: { 'Content-Type': 'application/json;charset=UTF-8' }, success: function (data) { alert("success: " + data); }, error: function (data) { alert("error: " + data); } }); return false; }); }); function serializeForm(form){ var obj = {}; $.each(form.serializeArray(),function(index){ if(obj[this['name']]){ obj[this['name']] = obj[this['name']] + ','+this['value']; } else { obj[this['name']] =this['value']; } }); return obj; } </script>
原文链接:https://www.cnblogs.com/dream-saddle/p/10518110.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:AES加密
- js防止表单重复提交实现代码 2020-03-29
- 如何用javascript连接access数据库 2020-03-20
- 如何用算法删除重复数据 2020-03-18
- js的验证表单 2020-03-18
- jQuery异步提交表单的两种方式 2020-03-12
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash