你如何在vue组件中使用laravel csrftoken

时间:2017-06-19 03:11:59

标签: laravel vue.js

我有一个包含带输入的表单的vue组件 - 我正在使用该组件将数据提交到laravel端点。

因此,表单只需在名为Sale.vue

的组件中进行设置
<template name="sale">
<form class="form-horizontal" role="form" action="/sales/save" method="POST">

我已经在包含刀片文件的head标记中设置了csrftoken - index.blade.php

    <script>
    window.Laravel = {!! json_encode([
        'csrfToken' => csrf_token(),
    ]) !!};
    </script>

index.blade产生销售页面,而该页面又包含自定义组件

<sale v-if="showModal"></sale>

我原本想过,因为主页面已经有了csrftoken,它应该可以工作。但是,在提交表单时,我收到tokenMismatchException错误。

我正在使用laravel 5.4 out of box setup for vue,所以它包含了bootstrap.js,它有一行

window.axios.defaults.headers.common['X-CSRF-TOKEN'] = window.Laravel.csrfToken;

由于我尚未使用ajax进行提交,因此不确定这会产生什么影响。

如何让vue组件使用令牌?当然,我不能在组件表单中再做{{csrf_field()}}{!! csrf_field() !!}只打印页面上的文字?

编辑:与可能的欺骗问题不同,我还没有尝试通过Vue / ajax发布,我只是尝试使用标准表单提交。

0 个答案:

没有答案