Я использую плагин star-rating jquery в моем проекте, вот ссылка https://plugins.krajee.com/star-rating#implementations. Итак, после нажатия на звезды, я хотел бы представить результат без перенаправления, с помощью og ajax, но я получил ошибку, как сообщение http://localhost/rating/56 (идентификатор проекта) 404 не найден Вот мой код
<form th:action="@{/rating/{id}(id=${projects.id})}" th:object="${rating}" method="post">
<input value="0" th:field="*{stars}" hidden class="rating" data-glyphicon="0"
id="stars">
</form>
ajax код здесь
$(document).ready(function() {
var id=/*[[${projects.id}]]*/
$('#stars').on('rating.change', function(event, value) {
event.preventDefault();
$.ajax({
type: "post",
contentType: "application/json",
url: "/rating/" + id,
data : JSON.stringify(id),
dataType : 'json',
dataType: 'json',
success: function () {
console.log(id)
}
})
});
});
вот мой контроллер пружины
@RequestMapping(value = "/rating", method = RequestMethod.POST)
@ResponseBody
public String rating(@RequestParam(value = "id") Long id, Model model, RatingModel ratingModel){
try {
projectService.save(ratingModel, id);
} catch (Exception e) {
log.error("You have already rated");
}
return "redirect:/project/show-project/" + id;
}
Как я знаю, весной я должен использовать @RestController для вызова ajax, но вместо этого я добавил аннотацию @ResponseBody с @RequestParams, но я не понимаю, почему эта реализация не работает
Пожалуйста, помогите