关于Springboot中前端向controller传递List参数报错的问题
2018-12-11 17:22
495 查看
关于Springboot中前端向controller传递List参数报错的问题
为实现批量修改,controller中传入一个List集合,controller中代码如下:
@RequestMapping("updateAllGoods") public boolean updateAllGoods( List<Goods> goodsList){ int res = goodsService.updateAllGoods(goodsList); if (res>0){ System.out.println(res); return true; }else { return false; } }
前端的ajax代码如下:
$("#but1").click(function () { var goodsList = new Array(); goodsList.push({goods_name: "铝锭",goods_pay :2000}); goodsList.push({goods_name: "铝锰合金",goods_pay :1000}); var list = JSON.stringify(goodsList); $.ajax({ type:'post', url:'goods/updateAllGoods', data:list, success:function (res) { if (res ==true){ $("#info").html("录入成功").css("color","green"); } if (res ==false){ $("#info").html("录入失败").css("color","red"); } } }) })
运行后出现以下错误:
查了很久以后,了解到list前需要添加注解@RequestBody。注解添加完运行后却又报错。错误如下:
后来又在网上搜了很久很久很久,这是因为默认的类型是application/x-www-form-urlencoded;charset=UTF-8’,所以不要忘记在ajax中添加这样的代码:
$("#but1").click(function () { var goodsList = new Array(); goodsList.push({goods_name: "铝锭",goods_pay :2000}); goodsList.push({goods_name: "铝锰合金",goods_pay :1000}); var list = JSON.stringify(goodsList); $.ajax({ type:'post', url:'goods/updateAllGoods', contentType : 'application/json', //将contentType的类型改为这个就可以使用注解@RequestBody了 data:list, success:function (res) { if (res ==true){ $("#info").html("录入成功").css("color","green"); } if (res ==false){ $("#info") 20000 .html("录入失败").css("color","red"); } } }) })
最后总结一下,需要注意的地方就是注解list前加上注解@RequestBody,ajax中的contentType 设置成’application/json’。
第一次写博客,记录一下错误,也希望帮助对别人有用!
相关文章推荐
- 关于jsp传递中文参数到controller乱码的问题
- 关于怎么解决从ajax传入的json参数注入到Controller的接收对象 以及如何在Spring Boot项目使用参数校验
- springboot 关于controller层传递单个参数的校验
- 解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题
- 解决spring boot接收前端传递过来的json数据时,接收到的时间与实际传递时间不一致的问题
- 关于springboot的RestFul的PUT请求,前台参数接收问题
- 关于SpringBoot无法加载前端界面以及加载成功之后页面无法加载Css/Js等问题的解决。
- 关于Spring.net注入Controller时参数为空的问题。
- spring-mvc限制前端传递list参数的长度为256
- 关于springboot过滤器处理request参数问题
- SpringBoot @RequestBody 注解的List参数传递
- 前端传递参数,在Controller显示问号乱码的问题?
- 关于SpringBoot启动类报错的问题解决
- 关于springboot中不能获取post请求参数的问题
- spring boot 框架下前端传递时间映射到后端的Date类型问题
- SpringBoot 415状态参数传递问题
- 关于SSM中的Controller传递参数的类型的问题
- 关于SpringBoot自定义注解(解决post接收String参数 null(前台传递json格式))
- 关于datagrid 参数传递问题
- java中关于参数传递问题的解释(传…