MethodNotAllowedHttpException с jquery и laravel [дубликат]

Простое решение. Это работает со всеми браузерами,

var StringDate = "24-11-2017"   
var DateVar = StringDate.split("-");
var DateVal = new Date(DateVar[1] + "/" + DateVar[0] + "/" + DateVar[2]);
alert(DateVal);
14
задан Jeff Lambert 25 September 2015 в 16:12
поделиться

5 ответов

Поскольку вы устанавливаете метод в обновлении сообщения как 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');
8
ответ дан Community 24 August 2018 в 04:00
поделиться

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

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

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

0
ответ дан Ahmet Uğur 24 August 2018 в 04:00
поделиться

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

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

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

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

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

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

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

0
ответ дан Nick F 24 August 2018 в 04:00
поделиться

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

1
ответ дан PawelW 24 August 2018 в 04:00
поделиться
0
ответ дан srivat1 24 August 2018 в 04:00
поделиться
Другие вопросы по тегам:

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