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

And*_*oiu 1 html node.js express

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

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

Que*_*tin 6

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>
Run Code Online (Sandbox Code Playgroud)

然后,直接使用body-parser中间件并打开扩展支持。

app.use(bodyParser.urlencoded({ extended: true }))
Run Code Online (Sandbox Code Playgroud)

当您读取请求正文时animals将是一个数组(如果未选中任何复选框,则为未设置)。