我已经使用了一段时间来获取此csrf令牌以使用vue.js示例。
但它一直说我没有代币。我尝试了各种各样的变化。
底部(不是头部,在身体末端之前)
<script>
window.myToken = <?php echo json_encode([
'_token' => csrf_token(),
]); ?>
</script>
<script src="/js/manifest.js"></script>
<script src="/js/vendor.js"></script>
<script src="/js/app.js"></script>
HTML
<div id="app">
@section('content')
<example></example>
@endsection
</div>
控制台输出
CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token
vendor.js:7635 You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html
示例似乎也没有做多少,但我想我需要令牌。
答案 0 :(得分:9)
如果你看看
/resources/assets/js/bootsrap.js
你会找到
let token = document.head.querySelector('meta[name="csrf-token"]');
您应该添加<head>
标记
<meta name="csrf-token" content="{{csrf_token}}">
此错误将不再显示。
我希望这会有所帮助
答案 1 :(得分:2)
将此脚本插入您的页面head
标记。
<script>
window.Laravel = {
'csrfToken' => '{{csrf_token()}}',
};
</script>
在bootstrap.js
:
window.axios.defaults.headers.common = {
'X-CSRF-TOKEN': window.Laravel.csrfToken,
'X-Requested-With': 'XMLHttpRequest'
}