节点JS POST请求返回未定义的主体

时间:2020-02-17 13:29:00

标签: javascript node.js express post postman

Node JS非常新,我正在尝试发布到特定的URL并检索数据。

我正在使用邮递员来执行此操作,但是每次我向其发布时,响应数据都未定义,但是状态码为200。

我已按照建议添加了人体分析,但仍然没有任何乐趣。

我将在下面发布我的服务器代码和请求。

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
const port = process.env.PORT || 5000;

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.get('/api/hello', (req, res) => {
    res.send({ express: 'Hello From Express' });
});

app.post('/api/save-json', (req, res) => {
    console.log(req);
    res.send(
        `I received your POST request. This is what you sent me: ${req.body.json}`,
    );
});

app.listen(port, () => console.log(`Listening on port ${port}`));

我的邮递员要求是:

{
    "body" : 
    {
        "json": "some data"
    }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

body是包含HTTP请求正文(由req设置)的body-parser对象中的属性,因为您要发送一个名为body的对象您需要像这样访问它:req.body.body.json