json传实体到后台接受

转自https://www.cnblogs.com/threadj/p/10535760.html

我用第一种是没问题的,第二种还不行,再研究一下

1、json参数为json字符串

var data = {
name: '超管不是11',
password: '123456'
};
$.ajax({
type:"post",
url: url,
data: JSON.stringify(data),//这里格式为JSON字符串
dataType: 'json',//返回数据类型
contentType:"application/json;charset=utf-8",//这里注明传递参数类型为JSON字符串
success: function (rs) {
console.log(rs);
}
});

@RequestMapping(value = "/login")
//后台需要加上@RequestBody 
public Result login(@RequestBody User user){
    System.out.println(user);
    return ResultUtil.success(ResultEnum.SUCCESS, null);
}

2、JSON参数为JSON对象

复制代码
var data = {
    name: '超管不是11',
    password: '123456'
};
$.ajax({
    type:"post",
    url: url,
    data: {
        name: '超管不是11',//或者 "name": "xxx"
        password: '123456'//     "password": "xxx"
    },//这里格式为JSON对象
    dataType: 'json',//返回数据类型
    //contentType:"application/json;charset=utf-8",//这里需要注释掉
    success: function (rs) {
        console.log(rs);
    }
});
复制代码
复制代码
@RequestMapping(value = "/login")
//public Result login(@RequestBody User user){
//    System.out.println(user);
//    return ResultUtil.success(ResultEnum.SUCCESS, null);
//}
//后台需要去掉@RequestBody, 必须去掉
public Result login(User user){
    System.out.println(user);
    return ResultUtil.success(ResultEnum.SUCCESS, null);
}
复制代码

猜你喜欢

转载自www.cnblogs.com/aishangyizhihu/p/10780872.html
今日推荐