相关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());
}
问题:
发布后,控制器的行为就像一切正常。我的打印语句fire和person.toString()产生了预期的结果。但是,我的ajax调用失败,警告“错误”,我不知道为什么,因为除此之外,其他所有功能都工作正常。
我尝试使用Postman手动发布JSON,得到的响应为“ 415不支持的媒体类型”,经过一些挖掘,我仍然不知道如何处理此错误,因此我的success()函数将触发。有任何想法吗?
最佳答案
jQuery中.ajax()函数的dataType属性是“您期望从服务器返回的数据类型。”
如果未在Controller中输出json,则应将其删除。
有关更多信息,请参见doc