有人能告诉我在express中获取表单数据的推荐(最新)方法吗.

很多教程/帖子等都在谈论bodyParser,但它不再与ExpressBundle 在一起,其他博客等建议直接使用urlencoded,但现在也没有了.

试图找到这些框架或技术的准确信息让我头疼不已.

顺便说一句,我感兴趣的是非常简单的小格式数据

推荐答案

你应该安装body-parsernpm-install.现在它作为一个独立的中间件出现.

之后,在你的应用程序中添加以下行.js

var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
// in latest body-parser use like below.
app.use(bodyParser.urlencoded({ extended: true }));

它将post请求解析为object.你将在req.body中得到你的变量.

post请求处理程序中.

app.post('/post',function(request,response){
   console.log(request.body) //you will get your data in this as object.
})

Edit 1

上面的答案是针对特别提出的问题,OP寻找的是bodyParser(已弃用),它不再是express的一部分.

由于这个问题的标题非常笼统,而且答案不包括form-data的所有方面,我将把@StLia的答案作为编辑.

Body-Parser Readme

这不适用于多部分实体,因为它们复杂且通常较大.对于多部分实体,您可能会对以下模块感兴趣:

Node.js相关问答推荐

Stripe webhook无法访问Express请求原始正文

如何从shell脚本中计算ecmascript模块?

使用ReadableStream.管道时NodeJS Crypto Hash不正确

如何在Angular jest测试中调用Nodejs的垃圾收集? node v20的测试速度慢且内存泄漏

如何使用Nextjs路由从下一步/导航在新选项卡中通过";router.ush";打开链接

"sh:/usr/local/bin/node:当它存在于文件目录中时未找到

关于Node.js中的AES加密库的问题

如何模拟 mysql2 `getConnection`

Prisma 和 Nextjs:重新部署之前内容不会更新

使用单个 MongoDB 查询更新多个元素

是否可以在 NodeJS 代码库中的每个函数之前和之后添加 console.log?

Google Calendar API FreeBusy 外部用户

NestJS 共享模块的问题

为什么我的 Heroku Express API 数据是持久的,即使它只是来自一个变量

我们如何或可以通过 npm 和 Meteor 使用 node 模块?

使用 nvm-windows 时更新 npm

在 Node.js 中的两个不同进程之间进行通信

如何在 node 中转义 shell 命令的字符串?

从 zip 文件在 AWS 中创建 lambda 函数

要求('babel/register')不起作用