如何在 VueJS 文件中添加 Laravel CSRF 令牌? [复制]

Posted

技术标签:

【中文标题】如何在 VueJS 文件中添加 Laravel CSRF 令牌? [复制]【英文标题】:How to add Laravel CSRF Token in VueJS file? [duplicate] 【发布时间】:2018-09-15 09:56:18 【问题描述】:

我正在使用 Laravel 和 VueJS 创建一个简单的登录表单。

由于我是在.vue文件中设计登录表单的模板,所以@csrf根本不起作用。

那么,如何在 .vue 文件的任何表单中添加 csrf-token (@csrf) 或任何刀片语法?

登录.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】:

所以在过去,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

【讨论】:

以上是关于如何在 VueJS 文件中添加 Laravel CSRF 令牌? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vuejs 组件中使用 laravel csrf 令牌

如何将 Vuejs 组件添加到 Laravel Spark 应用程序?

如何通过 VueJS 在 Laravel 中使用 Bootstrap 4 图标

Laravel Vuejs 实战:开发知乎 (33)自定义helper方法

如何在 Laravel Blade 中使用 Vuejs

如何使用 vuejs 和 laravel 使用块方法上传大文件?