首页  >  文章  >  web前端  >  如何访问 Node.js 和 Express POST 请求中的完整请求正文?

如何访问 Node.js 和 Express POST 请求中的完整请求正文?

Susan Sarandon
Susan Sarandon原创
2024-10-27 11:27:01134浏览

How to Access the Full Request Body in Node.js and Express POST Requests?

访问 Node.js 和 Express POST 请求中的完整请求正文

本文解决了在创建时访问完整请求正文的问题使用 Node.js 和 Express 框架进行 POST 请求。

Express 和 bodyParser

提供的初始代码使用 Express.js 和express.bodyParser() 中间件进行解析请求正文。但是,尝试使用 request.body 访问整个请求正文会导致错误。

Express v4.16 及以后

从 Express v4.16 开始,不再需要express.bodyParser()中间件。相反,开发者可以直接使用内置的JSON中间件express.json()。

通过在代码中添加app.use(express.json()),请求体将被自动解析和访问作为请求处理程序中的 req.body。请记住在客户端请求中设置适当的 Content-Type 标头,例如 Content-Type: application/json。

Raw Request Body

访问原始请求不使用 Express 中间件,开发者可以利用 Node.js 的 req.get('content-type') 和 req.rawBody 方法。

例如:

app.post('/', function(req, res) {
  if (req.get('content-type') === 'application/json') {
    // Get the raw JSON body
    req.rawBody = '';
    req.on('data', (chunk) => { req.rawBody += chunk; });
    req.on('end', () => {
      // Do something with req.rawBody
    });
  }
});

这样,可以直接访问和操作原始请求正文。

以上是如何访问 Node.js 和 Express POST 请求中的完整请求正文?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn