You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel与Vue.js中CSRF Token不匹配问题:Axios POST请求无效排查

解决Vue + Laravel Axios POST请求的CSRF Token不匹配问题

我来帮你排查下这个问题,看了你的代码后,发现有几个关键问题导致CSRF Token验证失败:

问题分析

  • 重复引入Axios引发冲突:你先通过import Axios from 'axios'引入了Axios,紧接着又用window.axios = require('axios')重新赋值,这会覆盖之前的实例,还会和Laravel默认bootstrap.js里的Axios配置产生冲突。
  • CSRF Token选择器错误:你在获取meta标签时用了"(HTML实体编码),JavaScript无法识别这个符号,自然匹配不到name="csrf-token"的meta标签,也就拿不到正确的Token值。
  • 粗暴覆盖默认请求头:直接给window.axios.defaults.headers.common赋值新对象,会完全替换掉Laravel默认bootstrap.js里已经配置好的请求头(包括原本的CSRF Token设置),而不是追加新的头信息。

解决方案

既然你提到Laravel的bootstrap.js已经配置了CSRF相关内容,那我们直接复用这个配置就好,不需要重复造轮子:

1. 复用Laravel默认的Axios配置

Laravel的bootstrap.js默认已经帮你做了这些事:

window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
// 还会自动通过csrf-token meta标签设置Token

所以你不需要再重复编写Axios的基础配置,只需要确保在Vue代码前引入了bootstrap.js。

2. 正确挂载Axios到Vue原型

在你的Vue入口文件(比如app.js)里,只需要把已配置好的window.axios挂载到Vue原型:

// 先引入Laravel的bootstrap.js
require('./bootstrap');

import Vue from 'vue';

// 直接挂载现成的Axios实例
Vue.prototype.$http = window.axios;

3. 修正请求路径

你的POST请求用了相对路径'store',很可能会指向错误的路由地址,建议使用绝对路径或者Laravel的路由命名(需要先引入laraveloute包):

// 方法1:使用绝对路径
this.$http.post('/your-route-path/store', { email: this.email })

// 方法2:使用路由命名(需先安装laraveloute)
this.$http.post(route('your-route-name'), { email: this.email })

4. 确保页面存在CSRF Meta标签

在你的Blade模板里,必须包含Laravel默认生成的CSRF meta标签:

<meta name="csrf-token" content="{{ csrf_token() }}">

最终可用的代码示例

app.js(Vue入口文件)

require('./bootstrap');

import Vue from 'vue';

Vue.prototype.$http = window.axios;

const app = new Vue({
    el: '#app',
    data() {
        return {
            email: ''
        };
    },
    methods: {
        onSubmit(event) {
            event.preventDefault();
            this.$http.post('/newsletter/store', { email: this.email })
                .then(res => {
                    console.log(res.data.newsletter_success);
                })
                .catch(err => {
                    console.error(err);
                });
        }
    }
});

内容的提问来源于stack exchange,提问作者Aspile Inc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 03:37:46