【发布时间】:2016-08-01 03:37:16
【问题描述】:
我正在尝试通过使用带有 express 和 mongoose 的 REST Api 的 CRUD 操作教程来学习 MEAN 堆栈。我能够运行 GET 和 DELETE 操作,但我没有获得 POST 和 PUT 操作,因为我没有获得所需的请求正文值。
router.post('/', function (req, res, next) {
var todoObject = {
name: req.body.name
};
Todo.create(todoObject, function (err, todo) {
if (err) res.send(err);
Todo.find(function (err, todos) {
if (err) res.send(err);
res.json(todos);
});
}); });
从代码中可以看出,我正在使用通过 POSTMAN 传递的请求正文值设置 json 对象的名称参数。正在创建一个新文档,但名称值未在数据库中设置。
但是,直接命名是有效的。请帮帮我。
【问题讨论】:
-
你使用bodyParser吗?
-
是的,我确实使用了 bodyParser。
-
您是否尝试过
todoObject = req.body,并假设您的身体包含您打算放入数据库的内容 -
是的,我尝试过使用
todoObject = req.body,但没有成功。所以,我尝试了上面的方法。 -
您确定您的
todoObject变量在其回调函数之外有一个作用域生命周期吗?尝试在回调函数外初始化变量,看看是否还能得到值。