相关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

10-04 21:38
查看更多