我正在使用mongoose在MEAN堆栈上构建API。 API应该处理用户注册和身份验证。为了测试这一点,我使用chrome扩展程序,邮递员向/signup
提交帖子请求。
app.use("/signup", bodyParser.urlencoded({ extended: false }));
app.post("/signup", Auth.userExist, function (req, res, next) {
if (!req.body.email || !req.body.password) {
res.json({success: false, msg: 'Please pass name and password.'});
console.log("email: " + req.body.email);
console.log("password: " + req.body.password);
} else {
//do create new user logic...
res.json({success: true, msg: 'Successful created new user.'});
}
});
在这里,您可以看到我在API请求正文中发送的内容:
在控制台中,我得到了这个:TypeError:无法读取未定义的属性“email”
为什么我的请求正文无法通过?
答案 0 :(得分:1)
尝试为您的终端配置身体解析器:
var bodyParser = require("body-parser");
app.use("/signup", bodyParser.urlencoded({ extended: false }));
答案 1 :(得分:1)
在 POSTMAN 中选择x-www-form-urlencoded
而不是form
,然后传递表单值。你的代码应该可以正常工作。