最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何从POST请求数据

运维笔记admin9浏览0评论

如何从POST请求数据

如何从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 })

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论