laravel - Axios 0.19.2 不发送 CSRF 令牌
问题描述
我的 Laravel 应用程序有问题,在将本地更改推送到 master 分支,然后从 Linux 服务器中提取 master 之后,每当我执行 axios 请求时,我都会得到一个 CSRF 令牌不匹配。
此问题在使用 PHP artisan serve 的本地环境中不存在,但 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 服务器错误,我想我在某处破坏了一些东西,但同一个主分支正在本地环境中工作,所以它应该可以在Linux服务器...
我需要帮助 !
更新:我想我找到了一个可能的原因,cookie 选项卡一直显示相同的 XSRF-Token,即使在多次删除浏览器中的 cookie 之后,也在其他计算机上也是如此。这可能是什么原因?
解决方案
推荐阅读
- javascript - 在循环中处理 axios 取消
- javascript - TypeError:无法读取未定义的属性“地图”
- c++ - 为什么 unordered_set 不允许向量作为键?
- python - 如何在tensorflow中实现条件分支?
- .htaccess - 使用 .htaccess 重写带有查询字符串的 HTML 页面的 URL
- sql - oracle查询对所有空值重复数据集中的最后一个已知值
- angular - Angular 谷歌地图从 JSON 加载标记数据
- android - callback.onResult() 没有将值返回给 PageKeyedDataSource 中的适配器
() 在安卓中 - dart - Dart 中类构造函数语法的区别
- jquery - jQuery过滤器:找不到任何内容时无法显示消息