我在laravel刀片HTML表单和我添加@csrf内的形式,并尝试广告{{ csrf_field()}}和但每次我提交我有
419页面已过期
我的php 8.1我的laravel 10.1嗨,我在laravel刀片HTML表单,我添加@csrf内的形式,并尝试广告{{ csrf_field()}},但每次我提交我有419页过期
s5a0g9ez1#
我在使用laravel的时候也遇到过这个问题,也许我可以给予你一个小的解决方案,你可以试试。1.确保表单位于@csrf标签中:
<form method="POST" action="/your-route"> @csrf <button type="submit">Submit</button> </form>
字符串1.确保\App\Http\Middleware\VerifyCsrfToken::class已在“web”中间件组中注册。
protected $middlewareGroups = [ 'web' => [ // Lainnya middleware \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, ], ];
型1.请确保您使用的是Laravel和PHP的适当和兼容版本。
hgqdbh6s2#
1-检查浏览器Cookie:请尝试清除浏览器的Cookie并刷新页面。这可能是与会话相关的问题。2-检查表单操作URL:请确保您的表单发布到正确的URL。3-检查路线定义:请确保POST请求的路由定义正确。在Laravel的web.php路由文件中,确保正确定义了用于POST请求的路由。4-检查路由中间件:如果您使用的路由不在Web中间件组内,则可能会发生此错误。在Laravel中,Web中间件组包括会话状态和CSRF保护。确保在web.php中定义了您的路由,或者手动将CSRF保护添加到路由的中间件中。5-请检查@csrf指令在表单中的位置。它通常被添加到表单标记内部和其他输入字段之前。
2条答案
按热度按时间s5a0g9ez1#
我在使用laravel的时候也遇到过这个问题,也许我可以给予你一个小的解决方案,你可以试试。
1.确保表单位于@csrf标签中:
字符串
1.确保\App\Http\Middleware\VerifyCsrfToken::class已在“web”中间件组中注册。
型
1.请确保您使用的是Laravel和PHP的适当和兼容版本。
hgqdbh6s2#
1-检查浏览器Cookie:请尝试清除浏览器的Cookie并刷新页面。这可能是与会话相关的问题。
2-检查表单操作URL:请确保您的表单发布到正确的URL。
3-检查路线定义:请确保POST请求的路由定义正确。在Laravel的web.php路由文件中,确保正确定义了用于POST请求的路由。
4-检查路由中间件:如果您使用的路由不在Web中间件组内,则可能会发生此错误。在Laravel中,Web中间件组包括会话状态和CSRF保护。确保在web.php中定义了您的路由,或者手动将CSRF保护添加到路由的中间件中。
5-请检查@csrf指令在表单中的位置。它通常被添加到表单标记内部和其他输入字段之前。