【问题标题】:Laravel Token miss match exceptionLaravel 令牌未匹配异常
【发布时间】:2016-09-02 12:16:46
【问题描述】:

每次我在 laravel 中提交我的任何表单时都会看到此错误 TokenMismatchException in VerifyCsrfToken.php 第 67 行: 我确保在表单中,_token 字段设置为隐藏,并且在页面源代码中我可以看到其中的一个值,但是每次我提交表单时,它都会显示错误,我已授予对我的目录的可写权限和我试过清除缓存和配置。我还为应用程序生成了新密钥,但错误仍然存​​在。 laravel 版本是 5.2

【问题讨论】:

  • 在您的浏览器上检查您的网络日志,它确定发送值吗? (即,您没有不小心关闭表单或出现某种标签不匹配导致它无法发送)。
  • 认为用户登录时可能出现问题?提供更多信息并分享您的代码。

标签: php laravel-5.2 token


【解决方案1】:

我遇到了同样的问题。在您启动表单后,我用这个小代码修复了它。

{{ csrf_field() }}

【讨论】:

  • 我的表格也是这样
【解决方案2】:

尝试查看日志控制台或问题女巫缓存

【讨论】:

    【解决方案3】:

    默认情况下。 Laravel 需要令牌来保证我们自己的安全。每个表单和 ajax 请求都需要它。

    对于 HTML 表单。总是在里面添加

    {{ csrf_field() }}
    

    虽然对于每个 ajax 请求。你需要添加

    <meta name="csrf-token" content="{{ csrf_token() }}">
    

    在你的 head 标签中。 并将其添加到您的主 js 文件中。

    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    

    如果没有添加,则需要添加

    _token: $('.token').val()
    

    在每个 ajax 请求中。

    【讨论】:

      猜你喜欢
      • 2016-12-06
      • 2017-10-24
      • 1970-01-01
      • 2014-03-30
      • 2017-05-27
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      相关资源
      最近更新 更多