Ответ AJAX всегда 405

У меня есть сообщение 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"

Ошибка говорит о том, что метод не разрешен, но сервис с этой конечной точки работает отлично.

войти ResponseEntity<>(ratingService.save(ratingDTO),HttpStatus.OK‌​) и проверить значение

brk 14.03.2019 08:25
<200 OK,[Rating{id=53, score=2.2, stageOfApprove=0, comment='null', date=Thu Mar 14 09:30:13 EET 2019}],{}>
Taras Danylchenko 14.03.2019 08:31

ПОПРОБУЙТЕ удалить mimeType: "application/json",

Kunal Vohra 14.03.2019 09:56

У вас есть Джексон в пути к классам?

Rana_S 16.03.2019 03:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
56
1

Ответы 1

Вы должны установить POST через атрибут method:

$.ajax({
  method: "POST",
  ...

тот же результат, может проблема в той библиотеке, которую я использую? ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js

Taras Danylchenko 14.03.2019 08:29

@TarasDanylchenko Вы пробовали это с последней версией jQuery?

ttulka 14.03.2019 08:34

Да, 3.3.1 — это последняя версия jQuery, я пробовал с этим code.jquery.com/jquery-3.3.1.min.js и получил тот же результат.

Taras Danylchenko 14.03.2019 08:39

@TarasDanylchenko ваш ajax выглядит хорошо, так что, может быть, вы можете проверить, правильно ли отвечает сервер. Попробуйте какой-нибудь клиент, Postman или curl: curl -X POST <url>

ttulka 14.03.2019 08:46

Значит проблема на стороне сервера. Проверьте журнал, возможно, вы найдете там проблему.

ttulka 14.03.2019 13:21

есть идеи в чем может быть проблема?

Taras Danylchenko 14.03.2019 14:04

Другие вопросы по теме