这个是后台java接收代码,今天出现了这个问题,开始什么也没有输出,但是返回了400。我想一定是有部分错误信息没有显示出来,所以把 log4j 的配置文件中的 springframework 的日志级别改成 :DEBUG
果然出现了错误信息:No content to map due to end-of-input,这应该是说没有获取到内容。
看了下我的 Ajax 发送代码:
$.ajax({
url: url,
method : "post",
contentType: 'application/json;charset=utf-8', // 这句不加出现415错误:Unsupported Media Type
data: JSON.stringify(res), // 以json字符串方式传递
success: function(data) {
console.log(data);
},
error: function(data) {
console.log(data);
}
});
问题就在于应该把代码中的 method : "post" 改成 type : "post"(我也是偶然发现的,不知道具体的原因),改正之后恢复正常。
---------------------------------------------------
看到评论我查了一下,果然是关于 Jquery 版本的问题:
type 和 method 是一样的含义,只是 mthod 是 version1.9 添加的,所以版本 1.9 之前的使用 type, 之后的使用 method (https://blog.csdn.net/cominglately/article/details/78201697)。上图中我引用的是 1.8 的版本。