• 技术文章 >web前端 >js教程

    在spring mvc 返回json数据到ajax报错应该如何处理

    php中世界最好的语言php中世界最好的语言2018-03-31 17:00:50原创967
    这次给大家带来在spring mvc 返回json数据到ajax报错应该如何处理,处理在spring mvc返回json数据到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可以解析到,不会报错。

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    ajax的三级联动菜单栏如何实现

    ajax数据处理步骤详解(附代码)

    以上就是在spring mvc 返回json数据到ajax报错应该如何处理的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:javascript spring ajax
    上一篇:Vue.js条件渲染详解 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 一文详解多版本node的安装和管理• Angular学习之聊聊Http ( 错误处理 / 请求拦截 )• 浅析Angular中的Change Detection机制• 实战学习:聊聊Node.js怎么操作数据库• 一文聊聊node中的path模块
    1/1

    PHP中文网