django - 错误 403 CSRF cookie 未设置。axios 向 django 服务器发送请求
问题描述
我一直在尝试使用 axios 包在 react 中向我的 django 服务器发送一个简单的发布请求。但是每次,我都会收到一个后端错误,说 CSRF Cookie not set。这是我的反应代码:
componentDidMount() {
let csrfToken = getCsrfToken()
console.log(csrfToken)
axios({
method: "POST",
url: 'http://localhost:8000/getStats',
headers: {
"Content-Type": "application/json",
"x-csrftoken": csrfToken
},
data: { "city": "pune" }
}).then(response => {
console.log(response);
}).catch(err => {
console.log(err);
})
}
这是在我的 django 服务器中添加的:CSRF_COOKIE_NAME = "x-csrftoken"
编辑:我还没有使用任何形式。当我的组件安装时,我只是试图使用 axios 将静态数据作为 Pune 发送。
解决方案
将 csrftoken 添加到数据中,我在 ajax 和 Jquery 上遇到了同样的问题
[...]
method: "POST",
url: 'http://localhost:8000/getStats',
headers: {
"Content-Type": "application/json",
},
data: { "city": "pune" ,
"csrfmiddlewaretoken": csrfToken}
[...]
推荐阅读
- ansible - minishift - 从哪里获取指标的 ansible playbook
- excel - 如何更改手机地址?
- python - OpenCV 对大量图像显示“无”
- django - 更新模型时更新所有相关模型的 datetimefiled
- javascript - 为什么 `video` 元素不会在 Firefox 中触发 `dragstart` 事件?
- logging - 带有 DECLARE 格式参数的 EF Core SQL 日志记录
- ruby-on-rails - 如何跟踪已被杀死的 sidekiq 作业?
- jquery - 如何在 div 和 UL 上给出 tabindex?
- javascript - 如何为 0.01 - 8.50 之间的数字范围生成正则表达式
- javascript - 在 vuex + Firebase 应用程序中使用重定向方法获取登录结果