Intereting Posts
php сортирует ассоциативные массивы ключами, что эти ключи существуют в другом массиве инициировать обновление SOLR после обновления MySQL Что такое обработчик сериализации php_binary? Советы по разработке приложений Laravel Временная метка не работает с базами данных ORM и PostgreSQL Как получить канал RSS канала Youtube после 2015 года 20 апреля (без API v3)? проверить, когда оператор выбора PDO Fetch возвращает значение null Запросите отношение ManyToMany и покажите хороший результат в Symfony с Doctrine Bitfinex API v2 Аутентифицированные конечные точки с использованием PHP и cURL Каким должен быть выход echo ++ $ a + $ a ++ Отменить переменную сеанса при событии нажатия кнопки Почему загрузка изображения завершается ошибкой is_uploaded_file php? mysql_query сохранить тип данных, созданный в таблице при возврате? текст заполнителя в текстовом элементе zend Могу ли я получить поддержку интеграции Sagepay Server inFrame

Laravel MethodNotAllowedHttpException в форме POST

У меня возникла странная проблема с формой POST в Laravel.

При отправке почтового запроса мой Laravel выдает исключение MethodNotAllowedHttpException. Изучив errormessage, я вижу, что Laravel думает, что мой запрос – это запрос GET, которого нет.

При просмотре данных POST и данных GET на странице ошибок Laravel кажется, что они оба пустые. Это немного меня смущает, так как кажется, что происходит какая-то переадресация, HTTP_REFERER на ошибке – это страница, с которой я отправляю сообщения.

У меня была эта проблема раньше, когда создание именованного маршрута решило мою проблему, но я делаю простую CMS, поэтому используются шаблоны для формы, и я не могу использовать именованные маршруты, не позволяя пользователю используйте синтаксис Blade, который является плохой идеей.

Мой маршрут выглядит следующим образом (упрощен до «Hello world»):

Route::post('/signup/add', function(){ echo "Hello world"; }); 

http://pastebin.com/EsAeyHFx <- Полный route.php

http://pastebin.com/ByHdUFcK <- Моя форма. Ничего необычного, только обычный текст / радиоблок. Нет html или ничего особенного.

Еще более странная часть этого заключается в том, что у меня есть другая форма (форма входа), которая не приводит к такому поведению.

Я смотрел еще несколько вопросов по StackOverflow, но все они, похоже, ошибаются, отправляя данные POST на маршрут GET. Это не мое дело.

Если я изменю маршрут от POST до GET, он отлично работает.

Я также попытался изменить действие формы на GET и использовать скрытое поле _method и установить его post – Без успеха.

Может ли кто-нибудь сказать мне, что происходит с этим Исключением и как его исправить?

ДОБАВЛЕНО: после некоторых экспериментов я узнал, что при использовании стороннего программного обеспечения (например, chrome extension Postman) и отправки запроса POST на страницу он работает как встроенный.

Хорошо, после некоторого копания вокруг, делая формы в jsfiddle, используя jQuery и так далее, я нашел проблему!

У моей формы есть конечная косая черта в атрибуте action, который, предположительно, не разрешен.

Решения заключались просто в том, чтобы изменить мой код на action="/signup/add" вместо action="/signup/add/

Человек, я чувствую себя глупо …