如何在Laravel的外部js文件中包含csrf_token()?

时间:2015-06-06 18:33:13

标签: javascript php jquery laravel laravel-5

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

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

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

代码工作正常。但是,后来我将所有脚本放入外部js文件中。而且代码不再起作用了。

我遇到{{csrf_token()}}的问题,错误是

  

compile.php中的TokenMismatchException

如果我想使用Laravel的外部js文件,我该怎么办?

1 个答案:

答案 0 :(得分:33)

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

      现在,您可以在不提供$.post()的情况下使用_token