欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-14 10:53:53
最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,错误源码如下: 前端: $.ajax({ ty...

最近使用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问题,希望对大家有所帮助