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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node JS POST请求返回未定义的主体相关的知识,希望对你有一定的参考价值。

Node 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"
    }
}

有什么想法吗?

答案

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

以上是关于Node JS POST请求返回未定义的主体的主要内容,如果未能解决你的问题,请参考以下文章

Node.js/ Express POST 请求正文被解析为不正确的 JSON

使用 axios 和 express 处理 POST 请求

将状态对象作为POST主体发送并在Express服务器中按未定义的方式接收它

node.js 中的 mySQL 查询返回未定义

NSMutableRequest 对象主体的分配数据未释放

Node.js:POST - 请求方法:OPTIONS 状态代码:403 Forbidden