我正在使用Laravel和VueJS创建一个简单的登录表单。
由于我在.vue
文件中设计了登录表单模板,@csrf
根本不起作用。
那么,如何在.vue文件中以任何形式添加csrf-token(@csrf
)或任何刀片语法?
Login.vue
<template>
<div class="app">
<form action="/login" method="post">
@csrf <!-- How can I make this work -->
<input type="text" class="email">
<input type="password" class="password">
<input type="submit" value="Login">
</form>
</div>
</template>
答案 0 :(得分:1)
所以回到当天,Laravel拥有主/resources/views/layouts/app.blade.php
的这个特殊部分,它将所有视图中的CSRF令牌暴露为javascript变量。
它看起来像这样:
<script>
window.CSRF_TOKEN = '{{ csrf_token() }}';
</script>
在你的Vue,React,jQuery或vanilla Javascript中你可以使用全局变量window.CSRF_TOKEN
并引用Laravel CSRF令牌。
对于那些不知道window
是Javacript中的特殊变量的人,类似于PHP中的超级全局变量的概念,如$_SERVER
或$_GET
。