request.body 在使用 axios 将数据从 React 发布到节点时为空
request.body is empty on posting data from react to node using axios
我正在尝试 post 使用 axios api 调用从反应(前端)到 nodejs 服务器的数据,url 被命中并正确执行,但是发送数据为空
节点代码*
const express = require("express");
const bodyParser = require('body-parser');
const cors = require("cors");
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
let corsOptions = {
origin: "*",
optionsSuccessStatus: 200,
};
app.use(cors(corsOptions));
app.post("/signin",function(request,response,next){
console.log(request);
console.log(request.body);
response.json({});
})
app.listen(4000, "localhost", function () {
console.log("App is listening at port 4000");
});
React 方法
onSignin=function(event){
let data = new FormData();
data.append("signinEmail",this.state.signinEmail);
axios({
method:"post",
url:"http://localhost:4000/signin",
data:data,
headers:{
'Content-Type':'multipart/form-data'
}
}).then((res)=>{
console.log(res);
})
}
感谢任何帮助。
如果您不需要在/signin
API中上传文件,您可以使用'Content-Type':'application/json'
并向服务器发送一个JSON对象。
onSignin=function(event){
// data send to server
let data = {
signinEmail : this.state.signinEmail
};
axios({
method:"post",
url:"http://localhost:4000/signin",
data:data,
headers:{
'Content-Type':'application/json'
}
}).then((res)=>{
console.log(res);
})
}
我正在尝试 post 使用 axios api 调用从反应(前端)到 nodejs 服务器的数据,url 被命中并正确执行,但是发送数据为空
节点代码*
const express = require("express");
const bodyParser = require('body-parser');
const cors = require("cors");
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
let corsOptions = {
origin: "*",
optionsSuccessStatus: 200,
};
app.use(cors(corsOptions));
app.post("/signin",function(request,response,next){
console.log(request);
console.log(request.body);
response.json({});
})
app.listen(4000, "localhost", function () {
console.log("App is listening at port 4000");
});
React 方法
onSignin=function(event){
let data = new FormData();
data.append("signinEmail",this.state.signinEmail);
axios({
method:"post",
url:"http://localhost:4000/signin",
data:data,
headers:{
'Content-Type':'multipart/form-data'
}
}).then((res)=>{
console.log(res);
})
}
感谢任何帮助。
如果您不需要在/signin
API中上传文件,您可以使用'Content-Type':'application/json'
并向服务器发送一个JSON对象。
onSignin=function(event){
// data send to server
let data = {
signinEmail : this.state.signinEmail
};
axios({
method:"post",
url:"http://localhost:4000/signin",
data:data,
headers:{
'Content-Type':'application/json'
}
}).then((res)=>{
console.log(res);
})
}