如何在VueJS文件中添加Laravel CSRF令牌?

时间:2018-04-05 14:20:11

标签: html laravel vuejs2

我正在使用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>

1 个答案:

答案 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