Node.js缺少POST请求的正文

Altay_H

我在端口3000上运行了一个简单的Node.js程序,该程序接收POST请求并记录它们:

const express = require('express');
const app = express();
app.post('/post', async (req, res) => {
    console.log('req.body:', req.body);
    console.log('req.rawHeaders:', req.rawHeaders);
});

但是,无论何时我向其发送POST请求:

$ curl --data "param1=value1&param2=value2" http://localhost:3000/post

程序收到的请求仅包含标头,并且缺少正文:

$ node server.js
req.body: undefined
req.rawHeaders: [
  'Host',
  'localhost:3000',
  'User-Agent',
  'curl/7.73.0',
  'Accept',
  '*/*',
  'Content-Length',
  '27',
  'Content-Type',
  'application/x-www-form-urlencoded'
]

我在这里做错了什么?为什么请求的正文始终是undefined

曼努埃尔·杜阿尔特

我认为需要在node.js文件中添加更多配置,特别是必须添加body-parser依赖项,以便可以从传入请求中提取整个正文部分。

您必须使用npm安装body-parser: npm install body-parser --save

之后,您应该将其添加到文件中并添加配置:

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

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

有关此帖子的更多信息:https : //stackoverflow.com/questions/38306569/what-does-body-parser-do-with-express# :~: text=body%2Dparser%20extract%20the%20entire,已提交%20using %20HTTP%20POST%20request

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

执行POST请求时无法在XMLHttpRequest的node.js版本上正确发送请求正文

Node.js使用body-parser表达路由POST请求为空的正文

Node.js:如何从请求正文中获取到称为POST的页面的URL?

Node.js / Express POST请求正文已解析为错误的JSON

表单POST请求正文为空-Node.js / express / ejs / body-parser

在Node.js中模拟POST请求后如何访问响应正文?

我不断从 node js express post 请求正文中获取未定义

POST 请求 swagger node.js 上缺少标头“内容类型”

修改请求正文,然后在Node.js中进行代理

从node.js的http.IncomingMessage获取请求正文

node.js / express,请求正文为空

在Node Express JS的请求正文中传递数组

无法在Node.js / Express中访问请求正文数据

为什么node.js转换POST正文?

解析来自Node js + handlebars的POST请求

jQuery + node.js表达POST请求

Node JS 中的多个 POST 请求问题

从React到Node.js的POST请求

node.js中的POST请求

输入数组的Node.JS POST请求

Spring post方法“缺少所需的请求正文”

Openui5 jquery POST 到 Node.js 服务器在服务器端包含空的请求正文

Node JS 请求 - 如何使响应正文可用于所有其他 JS

请求正文未从 Next.js 传递到 Node.js 服务器

JS Fetch to Spring > 缺少所需的请求正文

如何使用Node.js中的请求库获取原始HTTP消息正文?

如何在Node.js HTTP2中获取请求正文?

使用Node.js和Express进行发布时如何访问请求正文?

Node.js请求库-将text / xml发布到正文吗?