У меня есть сообщение AJAX
$.ajax({
type: "POST",
contentType: "application/json",
url: "/rating/save",
data: JSON.stringify(rating),
dataType: "json",
mimeType: "application/json",
success: function (responseData) {
console.info(responseData);
window.location.href = "/welcome"
},
error: function (responseData) {
console.info(responseData);
}
});
Контроллер
@Controller
public class RatingController {
........
@RequestMapping(value = "/rating/save",method = RequestMethod.POST)
public ResponseEntity<Object> saveRating(@RequestBody List<RatingDTO> ratingDTO) {
return new ResponseEntity<>(ratingService.save(ratingDTO),HttpStatus.OK);
}
}
Каждый раз, когда я пытаюсь обработать ответ от контроллера, даже если нет исключения, я получил
status: 405
statusText: "error"
Ошибка говорит о том, что метод не разрешен, но сервис с этой конечной точки работает отлично.
<200 OK,[Rating{id=53, score=2.2, stageOfApprove=0, comment='null', date=Thu Mar 14 09:30:13 EET 2019}],{}>ПОПРОБУЙТЕ удалить mimeType: "application/json",
У вас есть Джексон в пути к классам?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы должны установить POST через атрибут method:
$.ajax({
method: "POST",
...
тот же результат, может проблема в той библиотеке, которую я использую? ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
@TarasDanylchenko Вы пробовали это с последней версией jQuery?
Да, 3.3.1 — это последняя версия jQuery, я пробовал с этим code.jquery.com/jquery-3.3.1.min.js и получил тот же результат.
@TarasDanylchenko ваш ajax выглядит хорошо, так что, может быть, вы можете проверить, правильно ли отвечает сервер. Попробуйте какой-нибудь клиент, Postman или curl: curl -X POST <url>
Значит проблема на стороне сервера. Проверьте журнал, возможно, вы найдете там проблему.
есть идеи в чем может быть проблема?
войти
ResponseEntity<>(ratingService.save(ratingDTO),HttpStatus.OK)и проверить значение