如何在 Laravel 的外部 js 文件中包含 csrf_token()?
Posted
技术标签:
【中文标题】如何在 Laravel 的外部 js 文件中包含 csrf_token()?【英文标题】:How to include csrf_token() in an external js file in Laravel? 【发布时间】: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 文件怎么办?
【问题讨论】:
【参考方案1】:-
将带有令牌的
<meta>
标签添加到刀片布局中:
<meta name="_token" content=" csrf_token() ">
-
设置 ajax 请求:
$(function()
$.ajaxSetup(
headers:
'X-CSRF-Token': $('meta[name="_token"]').attr('content')
);
);
现在您可以使用$.post()
,而无需每次都提供_token
。
【讨论】:
@FaizuddinMohammed 可以在here找到相关文档。 噢..是的。那很有用。谢谢!以上是关于如何在 Laravel 的外部 js 文件中包含 csrf_token()?的主要内容,如果未能解决你的问题,请参考以下文章
在 nuxt.js 页面中包含外部 javascript 文件
如何在 VSCode 扩展包中包含 node_modules 文件夹?