微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

表单 – 如何在express.js中获取嵌套表单数据?

在Rails中,如果你有一个带有下划线的表单,它将在params中假设一个嵌套的布局结构:
<input type="text" name="person_first" />
<input type="text" name="person_last" />

在服务器上,你会得到:

params #=> { person: { first: "Tom",last: "Hanks" } }

当我在node.js中使用Express.js时,bodyparser似乎并没有做同样的事情.看看bodyparser的代码,它只是运行JSON解析器,导致:

params #=> { person_first: "Tom",person_last: "Hanks" } }

当我使用Express时,有没有办法得到嵌套的表单数据,比如在Rails中?有没有图书馆能让我这样做?

解决方法

如果您使用express.bodyParser,则可以使用数组表示法传递嵌套数据.

在控制器之前添加express.bodyParser中间件.

app.use(express.bodyParser());

现在你可以在你的HTML代码中使用这个符号:

<input type="text" name="person[first]" />
<input type="text" name="person[last]" />

要么

<input type="text" name="person[name][first]" />
<input type="text" name="person[name][last]" />

快递4的更新

这里的关键是设置扩展:true

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

原文地址:https://www.jb51.cc/html/224051.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐