如何从POST请求数据
我有一个post请求,其中我打算检索当前值后更新的字段。
我试图在MongoDB中更新字段。该字段是布尔数据类型。
router.route('/books/update/:id').post((req, res) => {
Book.find({ id: parseInt(req.params.id) }, (err, books) => {
if (!books)
return next(new Error("Could not load book!"))
else {
console.log(books);
console.log(req.body);
// let book = new Book(req.body);
// console.log('Before ', book.title);
// bookpleted = !bookpleted
// console.log('After ', bookpleted);
// book.save().then(book => {
// res.json("Update done.");
// }).catch(err => {
// res.status(400).send('Update failed');
// })
}
});
});
我使用的邮差和数据我传递在身体,
{
"id" : 1,
"title" : "Read Romeo And Juliet",
"completed" : false
}
当我console.log (books)
我可以查看JSON结果集。请求req.body
是空白。为什么会是这样?正如你可以在注释代码见我试图设置完成现场和更新回到集合。什么是去了解这一点的最好办法。谢谢。
可能有几个原因吧。首先,如果它是一个明确的程序,确保你有一些身体解析中间件来解析HTTP请求的身体变成一个有效的JS对象(JSON如果你喜欢)。例如,时下最为流行的是this one。如果正确安装和配置,请确保您的要求有一个“内容类型”标头设置为你的邮差请求头节“应用/ JSON”。祝好运!
// create application/json parser
var jsonParser = bodyParser.json()
// create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })
如何从POST请求数据
我有一个post请求,其中我打算检索当前值后更新的字段。
我试图在MongoDB中更新字段。该字段是布尔数据类型。
router.route('/books/update/:id').post((req, res) => {
Book.find({ id: parseInt(req.params.id) }, (err, books) => {
if (!books)
return next(new Error("Could not load book!"))
else {
console.log(books);
console.log(req.body);
// let book = new Book(req.body);
// console.log('Before ', book.title);
// bookpleted = !bookpleted
// console.log('After ', bookpleted);
// book.save().then(book => {
// res.json("Update done.");
// }).catch(err => {
// res.status(400).send('Update failed');
// })
}
});
});
我使用的邮差和数据我传递在身体,
{
"id" : 1,
"title" : "Read Romeo And Juliet",
"completed" : false
}
当我console.log (books)
我可以查看JSON结果集。请求req.body
是空白。为什么会是这样?正如你可以在注释代码见我试图设置完成现场和更新回到集合。什么是去了解这一点的最好办法。谢谢。
可能有几个原因吧。首先,如果它是一个明确的程序,确保你有一些身体解析中间件来解析HTTP请求的身体变成一个有效的JS对象(JSON如果你喜欢)。例如,时下最为流行的是this one。如果正确安装和配置,请确保您的要求有一个“内容类型”标头设置为你的邮差请求头节“应用/ JSON”。祝好运!
// create application/json parser
var jsonParser = bodyParser.json()
// create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })