You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过HTML表单提交包含多层嵌套对象结构的req.body参数

问题解答:Node.js表单提交嵌套结构参数的实现

可以实现二级嵌套对象的参数接收,但你写的content[main[element]]语法不对,正确的嵌套写法是每一级属性单独用方括号包裹,格式为content[main][element]。

注意:需要确保你的Node.js服务端解析表单数据的中间件(express自带的express.urlencoded或者独立的body-parser包)开启了extended: true配置,这是默认支持嵌套对象解析的前提,示例配置如下:

// express 4.16+ 内置中间件配置示例
app.use(express.urlencoded({ extended: true }))

正确的表单代码写法如下:

<form action="/d/<%=project._id%>?_method=PUT" method="POST">
  <input class="part" name="content[main][element]">
</form>

提交后服务端拿到的req.body就是你需要的结构:

{
  content: { 
    main: { element: '用户输入的内容' } 
  }
}
  • 该写法还支持更深层级的嵌套,比如content[main][element][detail]就会生成三级嵌套对象
  • 如果需要传数组结构,还可以添加索引,比如content[list][0]、content[list][1]会自动解析为数组格式

内容的提问来源于stack exchange,提问作者Artiom O

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:36:09