我是Laravel的新手,遇到一个我不明白的问题。我的项目中有一个日志表单,我的方法是 POST 。当我尝试一个请求时,结果是:
‘该页面因不活动而过期。请刷新,然后重试。
但是,如果我将方法更改为 GET ,则可以正常工作。
有人可以告诉我为什么,以及如何解决吗?因为我当然需要POST方法。
此问题来自CSRF令牌验证失败。因此,要么您不发布一个,要么发布不正确的一个。
它对GET起作用的原因是对于Laravel中的GET路由,没有发布CSRF令牌。
您可以通过以下方式在表单中发布CSRF令牌:
{{ csrf_field() }}
或排除您的路线(不推荐,由于安全)在app/Http/Middleware/VerifyCsrfToken.php:
app/Http/Middleware/VerifyCsrfToken.php
protected $except = [ 'your/route' ];