Wil*_*elm 11 forms node.js express
在Rails中,如果你有一个带下划线的表单,它将采用params中的嵌套布局结构:
<input type="text" name="person_first" />
<input type="text" name="person_last" />
Run Code Online (Sandbox Code Playgroud)
在服务器上,您将获得:
params #=> { person: { first: "Tom", last: "Hanks" } }
Run Code Online (Sandbox Code Playgroud)
当我在node.js中使用Express.js时,bodyparser似乎没有做同样的事情.查看bodyparser的代码,它只是在其上运行JSON解析器,导致:
params #=> { person_first: "Tom", person_last: "Hanks" } }
Run Code Online (Sandbox Code Playgroud)
当我使用Express时,是否有某种方法可以获得嵌套的表单数据,比如在Rails中?有没有一个图书馆可以让我这样做?
Vad*_*hev 21
如果您使用express.bodyParser,可以使用数组表示法来传递嵌套数据.
express.bodyParser在控制器之前添加中间件.
app.use(express.bodyParser());
Run Code Online (Sandbox Code Playgroud)
现在您可以在html代码中使用此表示法:
<input type="text" name="person[first]" />
<input type="text" name="person[last]" />
Run Code Online (Sandbox Code Playgroud)
要么
<input type="text" name="person[name][first]" />
<input type="text" name="person[name][last]" />
Run Code Online (Sandbox Code Playgroud)
这里的关键是设置 extended: true
app.use(bodyParser.urlencoded({
extended: true
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3362 次 |
| 最近记录: |