您当前的位置:首页 > 网站建设 > ajax
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

解决spring mvc 返回json数据到ajax报错parseerror问题

51自学网 2022-02-21 10:52:12
  ajax

最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,错误源码如下:

前端:

$.ajax({       type: 'POST',       url: "groupFunctionEdit",       dataType: 'json',       contentType: "application/json",       data: JSON.stringify(functiondata),       success: function(data){         alert('数据加载成功'+data.msg);       },       error: function(xhr, type){         alert('数据加载失败');         console.log(type);       } 

后台Controller:

@RequestMapping("/groupFunctionEdit")     public @ResponseBody Object groupFunctionEdit(@RequestBody List<YyGroupFunction> yyGroupFunctionList) throws JsonProcessingException{          return "success";   } 

查询资料发现有如下解答:

当使用简单类型即:String这样的类型来接收数据时,不需要使用@RequestBody这个注解。

这里需要使用spring mvc处理json的依赖jar包:jackson.databind.jar

解决办法:

前端不用修改,在后台对需要的数据进行map封装再转化为String类型:

@RequestMapping("/groupFunctionEdit")     public @ResponseBody Object groupFunctionEdit(@RequestBody List<YyGroupFunction> yyGroupFunctionList) throws JsonProcessingException{      Map<String,Object> map = new HashMap<String,Object>();      map.put("msg", "success");      ObjectMapper mapper = new ObjectMapper();      String msg = mapper.writeValueAsString(map);     return msg;   } 

这样传到前端的数据变成了:

{"msg":"success"}

再使用jQuery可以解析到,不会报错。

以上所述是小编给大家介绍的解决spring mvc 返回json数据到ajax报错parseerror问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对51zixue.net网站的支持!


下载地址:
Ajax实现动态加载数据
Ajax上传文件进度条Codular
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。