ajax请求出现错误415(Spring)
我的ajax请求已发送,但从未到达控制者,我收到415个错误() Ajax请求ajax请求出现错误415(Spring),ajax,spring,http-status-code-415,Ajax,Spring,Http Status Code 415,我的ajax请求已发送,但从未到达控制者,我收到415个错误() Ajax请求 function likeAjax(mId) { var data = {} data["id"] = mId; $.ajax({ type : "POST", headers: { 'Accept': 'application/json', 'Content-Type': 'application/json'
function likeAjax(mId) {
var data = {}
data["id"] = mId;
$.ajax({
type : "POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
url : "/likeMessage",
data : JSON.stringify(data),
dataType : 'json',
timeout : 100000,
beforeSend :(xhr)=>{
xhr.setRequestHeader(csrfheader,csrftoken); //for Spring Security
},
success : (data) =>{
console.log("SUCCESS : ", data);
alert(data);
},
error : (e)=> {
console.log("ERROR: ", e);
},
done : function(e) {
alert("DONE : " + e.toString());
console.log("DONE");
}
});
控制器
@ResponseBody()
@RequestMapping(value = "/likeMessage", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public AjaxResponseBody likeWithAjax(@RequestBody() AjaxRequestBody request) {
AjaxResponseBody result = new AjaxResponseBody();
//some logic
return result
}
AjaxRequestBody和AjaxResponseBody类
private class AjaxRequestBody{
int id;
}
private class AjaxResponseBody{
String message;
}
我确信我遗漏了一些明显的东西,但我似乎无法理解这一点
感谢您的帮助从控制器方法中删除ResponseBy()注释。确保在控制器类中添加了RestCOntroller注释
在RequestMapping中添加products=“application/json”用products=“application/json”更新了答案。有趣的是,让我看看日志。同时,您可以将trydata:JSON.stringify(data)设置为data:data。另外,还有一个使用字符串作为参数的回退方法以供进一步分析。我得到的是:State HTTP 415–不支持的媒体类型,我尝试删除
JSON。stringify
already感谢您的帮助,但这个问题不值得花时间和精力,我会找到另一种方法来做我想做的事情