请教各位,这段 JS 代码是什么意思?
laravel版本号5.3
今天通过 php artisan make:auth命令创建了一个最小的用户注册登陆源码,它的前端页面里有这样一句话
window.Laravel = {!! json_encode([
'csrfToken' => csrf_token(),
]) !!};
这句话是什么意思?从缓存中取token?
关于 LearnKu
好吧,已经找到答案了,其实就是csrf-token标记,一般教程都是教你写在meta里,就像这样:
''
也可以直接写在js页面里,就像提问的那样。
上面这行代码是执行的 php 语句,意思是在服务器上获取当前的 token,然后转化为json
这个赋值是把上面的 json 传给当前页面 window 对象,使 window 对象有一个 Laravel 属性。
为什么要给 window 对象这个属性呢?
因为这样就可以在 js 函数执行的时候,很方便取到 当前的 token 值,最常用的场景就是在发送 Ajax 请求的时候,需要在请求的 header 携带token值,就像下面这样
如果不这样做,想要发送 Ajax 请求的时候,可能会需要下面这样