Axios 0.19.2无法通过以下方式发送CSRF令牌

问题描述

我的Laravel应用程序出现问题,将本地更改推送到master分支,然后从Linux服务器提取master之后,每次执行axios请求时,我都会得到CSRF令牌不匹配的消息。

使用PHP artisan服务的本地环境中不存在此问题,但是Linux服务器使用apache2。

我尝试清除cookie,尝试在另一台计算机上尝试使用隐身窗口,将axios更新为0.19.2,我已清除了所有缺少依赖项的错误,我无法摆脱此错误

当我检查“网络”选项卡时,我发现请求标头不包含XSRF-thing-a-ma-jig,据我所知axios会自动包含它。另外,它在本地环境中也包含在内并且可见。

这是我发出axios请求的方式

                    axios.delete(`/${objectType.toLowerCase()}/${objectId}`)
                    .then((returnData) => {
                        this.getPosts(); // to be replaced
                    })
                    .catch(function (error) {
                        console.log(error);
                    });

这是bootstrap.js中axios的两行

window.axios = require('axios');

window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

很显然,我在页面顶部有csrf_token元标记

我很茫然,我无法从git测试旧版本,因为它引发了500个服务器错误,我想我在某些地方损坏了某些东西,但是同一master分支正在本地环境中工作,因此应该在Linux服务器上工作...

我需要帮助!

更新:我想我发现了一个可能的原因,即使在浏览器中以及其他计算机上多次删除了cookie之后,“ cookies”选项卡也始终显示相同的XSRF-Token。这可能是什么原因?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)