Laravel5.4.30怎么获取csrfToken?
之前在app.blade.php中有这么一段:
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
使用时是这样获取的:
params: {
_token: Laravel.csrfToken
}
在5.4.30版本中app.blade.php没有了上面的代码,改为在bootstrap.js文件中有这么一句:
let token = document.head.querySelector('meta[name="csrf-token"]');
问题:
现在要在其他地方使用token值,应该这么写呢?
params: {
_token: ? //应该怎么获取token呢?
}
它的修改只不过是把那段script扔到了bootstrap.js里,而这个bootstrap.js是被app.blade.php自带的app.js引用了
重点是你需要使用的地方是否继承了了这个自带的app.blade.php(即有@extends('layouts.app') )
比如说你完全没修改他的app.blade.php而且直接继承了这个layout,那就使用它的变量token即可
如果你是自己写的layout,只要保证meta标签里有
使用时直接_token: document.head.querySelector('meta[name="csrf-token"]')即可