![](/img/trans.png)
[英]Laravel 5 - TokenMismatchException in VerifyCsrfToken.php line 67
[英]How to solve TokenMismatchException in VerifyCsrfToken.php line 67
当我提交表单时,我收到一个错误。 您可以查看与错误相关的令牌不匹配异常。
怎么解决
VerifyCsrfToken.php 第 67 行中的 TokenMismatchException:错误
我已经添加了令牌变量。
<input name="_token" value="dZfqvG7m1G0TGtXtWkDoWFXs5wqIwH86mMzCKfTy" type="hidden">
有没有其他解决方案
尝试检查 config 文件夹中的session.php
文件。 可能你的 Laravel 安装路径不正确。
还要尝试检查您的应用程序是否具有对会话目录的写访问权限。
chmod 777 ./storage/framework/sessions
CSRF 令牌的工作原理是将值闪烁到您的会话中,然后将该值与在下一个请求中随表单提交的值进行比较。 如果您的会话未设置,那么这将始终失败。
注意:有时只需清除浏览器 cookie 也能正常工作 ;)
如果您使用 AJAX POST,请不要忘记添加以下内容
在你的头部部分:
< meta name="csrf-token" content="{{ csrf_token() }}" />
在您的 javascript 部分:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
这就是我解决问题的方法。
我正在使用 Session_driver=file (.env 文件)
清除会话数据:删除 storage/frameworks/sessions/ 中的所有文件
工匠清除缓存:php工匠缓存:清除
在 ubuntu 中重启 apache:Sudo service apache2 restart
清除 chrome 或您正在使用的其他浏览器中的浏览器缓存
编辑此文件:
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
将“POST”添加到
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS', 'POST']);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.