因此,我将用户输入的数据传递给后端,但是req.body返回未定义,我不确定为什么。我已经预先设置了中间件,但仍然不确定。我还检查了axios发送的值,并检查出正确的值。
app.use(Cors());
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: true}));
app.post('/signup', (req, res) => {
//const { email } = req.body;
console.log(req.body.email);
if(!req.body.email) {
console.log("No email, failed");
return;
}
const data = {
members: [
{
email_address: req.body.email,
status: "subscribed"
}
]
}
const postData = JSON.stringify(data);
const options = {
url: 'https://us4.api.mailchimp.com/3.0/lists/xxxxxx',
method: 'POST',
headers: {
Authorization: 'xxxxxxx'
},
body : postData
}
request(options, (err, response, body) => {
if(err) {
console.log(err);
} else {
if(response.statusCode === 200) {
console.log("Success!");
}else {
console.log("Error Accessing")
res.send("Error");
}
}
});
});
这是我的axios发布方法:
handleSubmit = e => {
e.preventDefault();
const { email } = this.state;
axios
.post('http://localhost:5000/signup', email)
.then(() => console.log("Email Added"))
.catch(err => {
console.log(err);
})
};
您已确认axios(this.state.email)张贴的内容未定义?
req主体返回未定义的事实表明输入的数据不正确或对该数据的请求无效。
整个需求主体是什么样的?