虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > AJAX相关 > 解决spring mvc 返回json数据到ajax报错parseerror问题

解决spring mvc 返回json数据到ajax报错parseerror问题
类别:AJAX相关   作者:码皇   来源:互联网   点击:

最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,下面通过本文给大家分享spring mvc 返回json数据到ajax报错parseerror问题的解决方法,需要的朋友参考下吧

最近使用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问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关热词搜索: springmvc ajax json ajax parsejson