我向服务器发送Ajax请求,但服务器没有得到响应。
PUT请求:
function editNavigation() {
var flight={
id:idAction.replace('edit',''),
navigation:newNavigation
};
console.log(flight);
var prefix = '/airline/';
$.ajax({
type: 'PUT',
url: prefix +'flights/' + idAction.replace('edit',''),
data: JSON.stringify(flight),
headers:{contentType: "application/json"},
success: function(receive) {
$("#adminTable").empty();
$("#informationP").replaceWith(receive);
$("#hiddenLi").removeAttr('style');
},
error: function() {
alert('Error edited flight');
}
});
}
控制器:
@RequestMapping(value = prefix + "/flights/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public String updateFlight(@PathVariable("id") String id, @RequestBody FlightDto flightDto) {
String returnText = "Flight edited successful";
String str1 = flightDto.getNavigation();
logger.info(str1);
String str2 = id;
logger.info(str2);
return returnText;
}
浏览器控制台:
Object {id: "5", navigation: "sdf"}
PUT http://localhost:8080/airline/flights/5 415 ()
为什么我会收到错误415? 为什么我的控制器不发送响应?
答案 0 :(得分:0)
415
共鸣代码为Unsupported Media Type
。
如果您的服务需要POST
(或任何类型)请求以及用户是否发送
PUT
请求服务器将提供此类响应。
如果用户发错了MediaType
,那么此类错误也会出现。
在您的代码中,我认为您配置的错误MediaType
是APPLICATION_JSON_VALUE
。您可以指定MediaType.APPLICATION_JSON
。
我认为这会有所帮助。