axios post 数据显示在配置中,但不是数据,没有传递正文
Axios post data shows in config, but not data, no body passed
我有一个反应前端发送到 mongoose/express 后端。以前我在后端使用 flask,一切都很好 运行,这个问题是在切换到 express 后才开始的。在 postman 上,调用完美无缺,但当我尝试通过浏览器时,我收到 200 响应,并创建了一个空文档。在控制台中,正确的数据显示在配置对象中,但不在实际数据对象中。
继承人 React/Formik onSubmit 发送 post:
onSubmit={async (values) => {
console.log(values);
const headers = {
'Content-Type': 'application/json,multipart/form-data'
};
await axios.post('http://localhost:5000/api/clients', values, {headers})
.then(response => {
console.log(response);
return response;
})
//.then(this.props.history.push('/Clients'))
.catch(function (error){
console.log(error);
});
}}>
这是控制台响应(第一个对象是来自 onSubmit 的 console.log(响应)):
Object { firstName: "Johnny", lastName: "Cochrane", phone: "8585678899", id: "" }
firstName: "Johnny"
id: ""
lastName: "Cochrane"
phone: "8585678899"
<prototype>: Object { … }
AddClient.js:49
Object { data: {…}, status: 200, statusText: "OK", headers: {…}, config: {…}, request: XMLHttpRequest }
config: Object { url: "http://localhost:5000/api/clients", method: "post", data: "{\"firstName\":\"Johnny\",\"lastName\":\"Cochrane\",\"phone\":\"8585678899\",\"id\":\"\"}", … }
data: Object { _id: "62043b723fe12d6b4ec354b8", clientId: 12, __v: 0, … }
headers: Object { "content-length": "71", "content-type": "application/json; charset=utf-8" }
request: XMLHttpRequest { readyState: 4, timeout: 0, withCredentials: false, … }
status: 200
statusText: "OK"
任何帮助将不胜感激,因为我完全不知所措。谢谢
"application/json,multipart/form-data"...您不能在单个请求中包含多种内容类型。 Axios 在发布 objects 时默认为 application/json,因此您根本不需要自定义的 headers。 TL;DR 只需使用 axios.post(url, values) – Phil
我有一个反应前端发送到 mongoose/express 后端。以前我在后端使用 flask,一切都很好 运行,这个问题是在切换到 express 后才开始的。在 postman 上,调用完美无缺,但当我尝试通过浏览器时,我收到 200 响应,并创建了一个空文档。在控制台中,正确的数据显示在配置对象中,但不在实际数据对象中。
继承人 React/Formik onSubmit 发送 post:
onSubmit={async (values) => {
console.log(values);
const headers = {
'Content-Type': 'application/json,multipart/form-data'
};
await axios.post('http://localhost:5000/api/clients', values, {headers})
.then(response => {
console.log(response);
return response;
})
//.then(this.props.history.push('/Clients'))
.catch(function (error){
console.log(error);
});
}}>
这是控制台响应(第一个对象是来自 onSubmit 的 console.log(响应)):
Object { firstName: "Johnny", lastName: "Cochrane", phone: "8585678899", id: "" }
firstName: "Johnny"
id: ""
lastName: "Cochrane"
phone: "8585678899"
<prototype>: Object { … }
AddClient.js:49
Object { data: {…}, status: 200, statusText: "OK", headers: {…}, config: {…}, request: XMLHttpRequest }
config: Object { url: "http://localhost:5000/api/clients", method: "post", data: "{\"firstName\":\"Johnny\",\"lastName\":\"Cochrane\",\"phone\":\"8585678899\",\"id\":\"\"}", … }
data: Object { _id: "62043b723fe12d6b4ec354b8", clientId: 12, __v: 0, … }
headers: Object { "content-length": "71", "content-type": "application/json; charset=utf-8" }
request: XMLHttpRequest { readyState: 4, timeout: 0, withCredentials: false, … }
status: 200
statusText: "OK"
任何帮助将不胜感激,因为我完全不知所措。谢谢
"application/json,multipart/form-data"...您不能在单个请求中包含多种内容类型。 Axios 在发布 objects 时默认为 application/json,因此您根本不需要自定义的 headers。 TL;DR 只需使用 axios.post(url, values) – Phil