javascript - request.body 回来了 undefined
问题描述
所以我将用户输入的数据传递到后端,但 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);
})
};
解决方案
我的问题是我没有将电子邮件作为对象传递,因此该对象返回为空。
推荐阅读
- javascript - 同步函数中promise的返回值
- php - mysql根据select更新多行,根据当前行值
- ruby-on-rails - 编写传递额外信息的 Cucumber 测试
- html - bootstrap navbar-brand 将链接文本与 svg 对齐
- php - bootstrap 和 codeIgniter 数据显示在表格中
- python - 使用 Python 比较 JSON 中的值
- c# - MailKit - 将信件移至垃圾箱
- c# - C#当添加一个引用的程序集时,它会抛出一个找不到文件的错误
- ios - 在完成处理程序中隐藏http状态代码的进度条 - Swift 4
- c# - Xamarin.Forms (Android) 中未显示工具栏