HTTP Status 405 - Метод запроса «POST» не поддерживается (Spring MVC)

Джо Альбахари (автор C # 3.0 в двух словах и LINQPad) написал утилиту под названием PredicateBuilder, которая может использоваться для функций AND и OR.

http: //www.albahari. com / nutshell / predicatebuilder.aspx

Хотя он работает с функциями, он является открытым исходным кодом, поэтому вы можете проверить его и посмотреть, как он работает.

23
задан dlinx90 22 June 2012 в 09:45
поделиться

4 ответа

Я обнаружил проблему, вызвавшую ошибку HTTP.

В функции setFalse(), которая вызывается кнопкой Сохранить, мой код пытался отправить форму, содержащую кнопку.

        function setFalse(){
            document.getElementById("hasId").value ="false";
            document.deliveryForm.submit();
            document.submitForm.submit();

, когда я удаляю document.submitForm.submit();, это работает:

        function setFalse(){
            document.getElementById("hasId").value ="false";
            document.deliveryForm.submit()

@Roger Lindsjö Спасибо, что обнаружили мою ошибку, в которой я не указывал правильный параметр!

3
ответ дан dlinx90 22 June 2012 в 09:45
поделиться

Возможно, вам придется изменить строку

@RequestMapping(value = "/add", method = RequestMethod.GET)

на

@RequestMapping(value = "/add", method = {RequestMethod.GET,RequestMethod.POST})
5
ответ дан Felipe Leão 22 June 2012 в 09:45
поделиться

Я не уверен, поможет ли это, но у меня была та же проблема.

Вы используете springSecurityFilterChain с защитой CSRF. Это означает, что вы должны отправить токен, когда отправляете форму через запрос POST. Попробуйте добавить следующую форму в вашу форму:

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
21
ответ дан Ashish 22 June 2012 в 09:45
поделиться

Проблема в том, что ваш контроллер ожидает параметр hasId = false или hasId = true , но вы не передаете его. Ваше скрытое поле имеет идентификатор hasId , но передается как hasCustomerName , поэтому сопоставление не найдено.

Либо измените путь скрытого поля на hasId , либо укажите параметр отображения, чтобы ожидать hasCustomerName = true , или hasCustomerName = false .

3
ответ дан Roger Lindsjö 22 June 2012 в 09:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: