html - 使用 Express 在 node.js 中的数组中接收表单数据?

标签 html node.js express

我想创建一个表单,它发出 POST 类型的请求并将数据发送到 node.js 服务器(使用 express)。

如何在服务器中将表单作为数组发送和接收?

最佳答案

PHP 引入了 application/x-www-form-urlencoded 数据格式的扩展,允许对复杂的数据结构进行编码。 Express 通过 body-parser 模块支持这种格式。

在名称末尾使用 [] 命名字段。

<fieldset>
    <legend>What animals do you like?</legend>
    <label><input type="checkbox" name="animals[]" value="Cats"> Cats</label>
    <label><input type="checkbox" name="animals[]" value="Dogs"> Dogs</label>
    <label><input type="checkbox" name="animals[]" value="Tortoises"> Tortoises</label>
</fieldset>

然后,在 express 中,使用 body-parser middleware并打开扩展支持。

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

当您阅读 request body , animals 将是一个数组(如果没有选中任何复选框,则不设置)。

关于html - 使用 Express 在 node.js 中的数组中接收表单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42610022/

相关文章:

database - 我如何使用 node-orm2 通过 Express 为两个或多个数据库建模?

javascript - 在 Node.js 模块中重用代码

html - 具有自定义属性的 SEO 和 H 标签

javascript - 我如何只劫持 LI 中的一个特定链接而不是所有链接?

c# - 如何在代码隐藏中引用 HTML &lt;textarea&gt; 控件的输入?

node.js - 将文档添加到文档(子文档)不起作用

html - 从 Web 表单使用 NULL 更新 MySQL 字段

javascript - forEach 中的内部 Firestore promise 在外部 promise 之后执行

mysql - Express js 抛出 Rethrow 非 MySQL 错误

node.js - 如何在 Typescript 中正确扩展请求的 header