【问题标题】:How to include csrf_token() in an external js file in Laravel?如何在 Laravel 的外部 js 文件中包含 csrf_token()?
【发布时间】:2015-08-21 13:39:24
【问题描述】:

最初,我使用 <script> 标记在我的 HTML 页面中编写了所有 JavaScript 代码。

在 JavaScript 中的 jQuery 中的 post 调用是这样的。

$.post('store',{'_token':'{{csrf_token()}}'}, function(data){ /*a bunch of code*/ });

代码运行良好。但是,后来我把我所有的脚本都放到了一个外部的 js 文件中。并且代码不再工作了。

{{csrf_token()}} 有问题,错误是

compiled.php 中的 TokenMismatchException

如果我想用 Laravel 外部 js 文件怎么办?

【问题讨论】:

    标签: javascript php jquery laravel laravel-5


    【解决方案1】:
    1. 将带有令牌的<meta>标签添加到刀片布局中:
    <meta name="_token" content="{{ csrf_token() }}">
    
    1. 设置 ajax 请求:
    $(function() {
      $.ajaxSetup({
        headers: {
          'X-CSRF-Token': $('meta[name="_token"]').attr('content')
        }
      });
    });
    

    现在您可以使用$.post(),而无需每次都提供_token

    【讨论】:

    • @FaizuddinMohammed 可以在here找到相关文档。
    • 噢..是的。那很有用。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-04-29
    • 2015-03-22
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2018-12-14
    相关资源
    最近更新 更多