Я новичок в Laravel и использую Laravel 5.5.
Когда я отправляю без {{ csrf_field() }}
не получается ошибка несоответствия токена в Verify csrf token
Ошибка
Срок действия страницы истек из-за неактивности.
Пожалуйста, обновите и попробуйте снова
Моя HTML-форма
<form method="POST" action="/post">
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" name="title">
</div>
<div class="form-group">
<label for="textblog">Body</label>
<input type="textarea" class="form-control" name="body">
</div>
<button type="submit" class="btn btn-primary">Publish</button>
</form>
Веб-файл My Route
Route::post('/post','PostsController@store');
Вот моя функция класса контроллера
public function store() {
dd(request()->all());
}
Кажется, проблема внутри Laravel. это показывает неверное сообщение. Есть несколько похожих постов: 1stlink, 2ndlink
Вы должны просто поместить туда свой csrfField, и проблема исчезнет.
Дополнительные ссылки об ошибках Laravel:
Как сказал @Shaz в https://es.stackoverflow.com/questions/99342/laravel-5-5-the-page-has-expired-due-to-inactivity-please-refresh-and-try-aga
В Laravel 5.5 «TokenMismatch» выдает исключение с кодом 419
Обновление: .. и страница с сообщением об ошибке «Срок действия страницы истек из-за неактивности. Пожалуйста, обновите и попробуйте снова»
Я бы порекомендовал установить https://github.com/barryvdh/laravel-debugbar
так что вы можете увидеть исключения.
Вы, вероятно, увидите
../vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php#70
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException;
}
Обновить:
Когда я отправляю без {{csrf_field ()}} не получаю сообщение об ошибке Исключение несоответствия токена в проверке токена csrf
Вы получаете исключение несоответствия, но с новой страницей и кодом ошибки.
(https://laravel-news.com/laravel-5-5-error-views)
{{Csrf_field ()}} создает ввод, скрытый с токеном, поэтому вы должны использовать его в своих формах (также убедитесь, что токен не пуст в форме)
<input type="hidden" name="_token" value="nReVYpjfvqiVVkE8LpGeNOdJZnskNLGoB57YHFkO">