Javascript 在节点和表达式中形成元素数组键
尽管我尽了最大的努力,我还是坚持要把表单元素的数组键提交给NodeJS、Express和handlebar 我的表单元素如下所示:Javascript 在节点和表达式中形成元素数组键,javascript,forms,node.js,express,Javascript,Forms,Node.js,Express,尽管我尽了最大的努力,我还是坚持要把表单元素的数组键提交给NodeJS、Express和handlebar 我的表单元素如下所示: {{#each block}} <input type='text' name='block_payout[{{id}}]' /> {{/each} 但是,Node/Express中的req.body属性会删除这些键并创建索引数组: req.body [ block_payout [ 0 => value1 1 => v
{{#each block}}
<input type='text' name='block_payout[{{id}}]' />
{{/each}
但是,Node/Express中的req.body属性会删除这些键并创建索引数组:
req.body [
block_payout [
0 => value1
1 => value2
2 => value3
]
]
因为我想使用键将提交的值绑定到其他内容,这对我来说是个大问题。有人知道如何使用正确的键获取提交的表单数据吗?当主体解析器只看到数字键时,它似乎使用数组(必须从索引0开始),当至少有一个非数字键时,它使用对象。考虑到这一点,您可以尝试以下方法之一:
<input type='hidden' name='block_payout[null]' />
<input type='text' name='block_payout[14]' />
...
<input type='text' name='block_payout[i14]' />
...
<input type='hidden' name='block_payout[null]' />
<input type='text' name='block_payout[14]' />
...
<input type='text' name='block_payout[i14]' />
...
非常感谢。这种情况真是太遗憾了,我想知道它是否可以被视为一个bug。
<input type='text' name='block_payout[i14]' />
...
{ block_payout: { i14: 'test1', i15: 'test2', i16: 'test3' } }