SSM:前端传值到后台,保存失败,报错JSON parse error

org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'planeName': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'planeName': was expecting ('true', 'false' or 'null')

 

Controller层写法:参数是实体类 参数注解为@RequestBody

   public Object add(@RequestBody Entity entity){
        ......
        ......
        ......
        ......
    }

实体类:

public class Entity{

 private String name;
 private String password;
//省略 getter和setter
}

原因:前台传参格式不是json格式,导致转换错误

 

解决:前端ajax请求,先将参数转为json格式,然后请求头contentType改为'application/json;charset=utf-8'

  var allData = {
                 //参数名必须和实体属性名相同
                "name":nameInput, //注意 name必须和实体属性名相同
                "password":passwordInput, //password 必须和实体属性名相同
            };

 $.ajax({
                type: 'get',
                url: '',//接口地址
                contentType:'application/json;charset=utf-8',  //重点
                data : JSON.stringify(allData), //重点
                dataType: 'json',
                async:false,
                success: function(data){
                   //成功逻辑
                },
                error:function() {
                   //错误逻辑
                }
            });

 

你可能感兴趣的:(SSM,js,JQ)