“错误”:“消息”:“无法读取未定义的属性“名称””

时间:2021-02-05 13:24:51

标签: javascript node.js json macos postman

所以,我正在尝试创建一个路由,并且我创建了一个应该能够 POST 数据的路由,并且我一直在邮递员中对其进行测试。看起来很多人都遇到了同样的问题,但我一直无法找到解决方案。我可以看到名称没有值,但我也看过一个视频,它应该与那段代码一起工作。我见过的人在邮递员中得到了 JSON 形式的响应,我的人给了我下面显示的消息。

我的代码:

router.post('/', (req, res, next) => {
    const user = {
        name: req.body.name,
        eMail: req.body.eMail
    };
    res.status(201).json({
        message: 'Handling user',
        createdUser: user
    });
});

My code

我从邮递员那里得到的答复:

{
    "error": {
        "message": "Cannot read property 'name' of undefined"
    }
}

The answer I get from postman

2 个答案:

答案 0 :(得分:1)

您似乎在使用 express。你在使用身体解析器吗?如果没有, req.body 将始终未定义,这看起来像是您的问题。尝试在定义任何路线之前放置它。

const bodyParser = require('body-parser');
app.use(bodyParser.json()); // for parsing application/json

Docs

答案 1 :(得分:0)