相关JS :
$.ajax({
type : "POST",
contentType : 'application/json; charset=utf-8',
dataType : 'json',
url : "post",
data : JSON.stringify(person),
success : function() {
},
error : function() {
alert("Error");
}
});
相关控制器代码:
@ResponseStatus(HttpStatus.OK)
@RequestMapping(value = "/post", method = RequestMethod.POST)
public void posted(@RequestBody Person person) {
System.out.println("Post");
System.out.println(person.toString());
}
问题:
发布后,控制器的行为就像一切正常。我的print语句为fire,person.toString()产生预期的结果。但是,我的ajax调用失败了,警告"错误"并且我无法弄清楚原因,因为除此之外,一切正常。
我尝试使用Postman手动发布JSON,并且我得到了#34; 415不支持的媒体类型"的响应,经过一些挖掘,我仍然不知道如何处理此错误,以便我的success()函数触发。有什么想法吗?
答案 0 :(得分:1)
答案 1 :(得分:-1)
删除它:
contentType : 'application/json; charset=utf-8',
因为您的内容类型是从开头的纯文本:
System.out.println("Post");
仅当内容为json时,该contentType才有效。