javascript - 在 Django 中使用 Axios 和 CORS 获取 POST 请求的错误请求并做出反应
问题描述
我在 postman 上向这个 url http://localhost:8000/api/auth/users/ 发出了 post 请求。这是成功的。但是,在我的 react 前端尝试相同的操作会产生 400(错误请求错误)。它还说 Uncaught (in promise) Error: Request failed with status code 400
这是我的代码 AuthAPi.js:
import API from "./API";
const config = {
headers :{
"Content-Type": "application/json",
}
}
const signIn = (email, password) => API.post("/auth/users/", {
params : {
email : email,
password : password
},
},
config
)
.Catch((error) => console.log( error.message ) );
export { signIn };
和 API.js
import axios from 'axios';
export default axios.create({
baseURL: `http://127.0.0.1:8000/api`,
headers: {
"Content-type": "application/json"
}
});
我尝试了几个没有解决方案的链接。我很乐意在这里得到帮助。
下面是控制台日志、网络日志和 Django 服务器日志的屏幕截图:
解决方案
使用此代码:
API.post("/auth/users/", {
params : {
email : email,
password : password
}
}
您正在将一个包含对象的对象作为发布数据传递给 axios。Axios 不介意,但你的服务器不喜欢。相反,请尝试:
API.post("/auth/users/", {
email : email,
password : password
}, config)
这应该有效。如果要作为单个对象传入,则需要在 api 调用之外声明它:
let postData = {
email: email,
password: password
}
API.post("/auth/users/", postData, config)
推荐阅读
- java - 正则表达式电子邮件掩码,用于向前看和向后看 @
- javascript - Selenium webdriver 中未捕获整页屏幕截图,因为正文返回高度为 0
- javascript - 异步客户端 XSLT
- c# - Mongodb:创建一个简单的like系统
- html - 纯 CSS 手风琴
- python - Python - 解构器不删除对象实例
- reactjs - 在 Alwaysdata 上使用 Apache 反应应用程序生产
- python-2.7 - 如何在python中向两个不同的cmd窗口发送不同的命令
- animation - 如何在 JavaFx 中的时间线每次迭代后提高动画速度
- c# - indexer 的属性不能分配给 ,它是只读的。无法保存设置