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

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

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

代码运行良好.但是,后来我将所有脚本放入一个外部js文件中.代码不再有效了.

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

已编译中的标记不匹配异常.php

如果我想使用Laravel创建外部js文件,我应该怎么做?

推荐答案

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

现在,您可以使用$.post()而不必每次提供_token.

Laravel相关问答推荐

子目录中具有Vue实例的Laravel不起作用

Livewire 3软件包开发

Laravel:在 PHPUnit 的覆盖率报告中包含文件夹(如果在 app/ 文件夹之外)?

使用 Laravel 计算页面浏览量

Laravel 在维护模式下显示自定义消息

Laravel/Eloquent:致命错误:在非对象上调用成员函数 connection()

Laravel + Plupload 上传到 S3 响应以进行预检无效 - CORS

如何访问 Validator::extend 中的其他输入属性?

Laravel 5在blade中 echo 包含html的会话变量

合并两个 Eloquent 集合并删除所有重复项.

Laravel 中的合同和 PHP 中的接口有什么区别?

未定义的类常量App\Providers\RouteServiceProvider::HOME

413请求实体在laravel homestead for windows中太大的nginx服务器

Laravel 初学者的良好开端

约定表名(带下划线)

如何仅在Blade模板存在时才包含它?

在 Laravel 中结合 AND/OR Eloquent的查询

Laravel 在域和子域中共享 cookie 检测问题

如何在 laravel eloquent 中保存布尔值

在 Laravel 5 中找不到类App\Http\Controllers\admin\Auth