Intereting Posts
Преобразование UTF-8 евро в другие евро максимальная длина сообщения и имя переменной Как ограничить мое приложение на одной вкладке браузера? PHP date_default_timezone_set () Как написать хорошую вставку базы данных PHP, используя ассоциативный массив структура массива результатов базы данных Как я могу получить ошибку при запуске нескольких запросов с помощью PDO? Представление JQuery / Ajax (enctype = "multipart / form-data"). Почему «contentType: False» вызывает неопределенный индекс в PHP? Почему этот PHP-код (комета) не работает? Длительный фоновый скрипт PHP блокирует другие страницы PHP до тех пор, пока он не будет завершен Как получить информацию сертификата SSL с помощью node.js? Рекурсивная функция для построения массива из дерева Как добавить повторяющуюся форму в цикле symfony2 для одного и того же объекта Методы доставки. Параметр Local Pickup недоступен при скрытой ставке. Как отправить сообщение с полем message_tags с помощью Graph API в PHP

МетодNotAllowedHttpException в строке RouteCollection.php 219

Когда я храню сообщение, я получаю эту ошибку

MethodNotAllowedHttpException in RouteCollection.php line 219: 

Что может вызвать эту проблему?

routes.php:

 Route::get('home', 'PostsController@index'); Route::get('/', 'PostsController@index'); Route::get('index', 'PostsController@index'); Route::get('posts', 'PostsController@index'); Route::get('post/{slug}/{id}', 'PostsController@show'); Route::get('posts/sukurti-nauja-straipsni', 'PostsController@create'); Route::patch('posts/store-new-post', 'PostsController@store'); Route::get('post/{slug}/{id}/edit', 'PostsController@edit'); Route::patch('posts/{slug}', 'PostsController@update'); Route::get('tags/{tags}', 'TagsController@show'); Route::get('categories/{categories}', 'CategoriesController@show'); // Authentication routes... Route::get('auth/login', 'Auth\AuthController@getLogin'); Route::post('auth/login', 'Auth\AuthController@postLogin'); Route::get('auth/logout', 'Auth\AuthController@getLogout'); // Registration routes... Route::get('auth/register', 'Auth\AuthController@getRegister'); Route::post('auth/register', 'Auth\AuthController@postRegister'); 

Я использую Laravel 5.1, и я не могу понять это на один день.

Поскольку вы устанавливаете метод обновления post, который должен быть patch , убедитесь, что вы открыли форму для использования этого метода:

 {!! Form::open(['method' => 'patch']) !!} 

Если вы не используете класс Form , вы также можете просто убедиться, что под формой находится скрытый элемент, называемый _method :

 <input name="_method" type="hidden" value="PATCH"> 

Аналогичным образом, если вы отправляете эти данные через AJAX, просто добавьте ключ _method к набору полезных данных в 'PATCH' перед отправкой запроса через POST. Некоторые браузеры ( IE 7/8 ) не поддерживают PATCH HTTP через XMLHttpRequest

Другой вариант – изменить маршрут, чтобы вместо этого принимать POST-данные:

 Route::post('posts/store-new-post', 'PostsController@store'); Route::post('posts/{slug}', 'PostsController@update'); 

Попробуйте добавить к вам модель: protected $guarded = ['_token'];

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

 Route::get('/', 'PostsController@index'); Route::get('posts', 'PostsController@index'); 

Это отлично работало для запросов GET, но я поставил свою форму на себя, то есть. Я не указал действие в моей форме – это означало, что если бы я работал /posts работал, он работал (так как я установил подходящую конечную точку POST для этого маршрута), но с домашней страницы / она всегда давала бы мне MethodNotAllowedHttpException, которое вы описываете (поскольку для него не настроен маршрут данных POST). Потребовались годы, чтобы понять, почему форма, казалось, иногда срабатывает, а иногда и нет.

В конце концов я исправил его, изменив маршрут для / в перенаправление, например:

 Route::get('/', function(){ return redirect('posts'); }); 

… хотя я предполагаю, что явное указание действия на форму (или установка маршрута POST для / слишком) также выполнило бы задание.

Я новичок в Laravel, поэтому могут быть другие подходы, которые лучше, чем любой из вышеперечисленных!

Перейдите к поставщику / laravel / framework / src / Illuminate / Foundation / Middleware / VerifyCsrfToken.php и добавьте метод маршрута, который вы хотите (POST, GET) в функции isReading ().

Надеюсь, это может помочь кому-то.

Проверьте тег формы

 <form action="/path/" method="post"> 

здесь « / path / » должен быть « / path », не используйте « / » в конце.