ajax post json到服务器的小细节

1.服务器端,spring mvc 代码:

@RequestMapping(value = "/save")
@ResponseBody
public BaseModelResult<Long> update(@RequestBody User param) {

....

}

通过标记@RequestBody 会将请求的json数据自动转为对象,实际上如果web页面通过form表单提交的话,直接update(User param)这种方式也能自动转,不太喜欢这种json方式,有时有点坑。

2.Web页面代码

$.ajax({
            type: "POST",
            url: "save.do",
            contentType:"application/json",
            data: JSON.stringify({name:$("#userName").val(),
                password:$("#password").val()
            }),
            dataType: "json",
            success: function (result) {
                console.log(result);                
            },
            error: function (message) {
                console.log(message);
            }
 });

注意标红的地方:
(1)contentType 默认为表单提交,也就是application/x-www-form-urlencoded方式,此处需要改为json方式

(2)data传入数据,此处需要注意需要转为字符串,不能传对象,感觉挺坑,此处应该与一般的post/get方式一致,都应为对象才好

 

上一篇:初步了解SpringBoot的两个常用注解


下一篇:springmvc接受及响应ajax请求。 以及@RequestBody 和@ResponseBody注解的使用