javascript 如何使用node.js express框架自动绑定HTML表单中的集合?

zpgglvta  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(124)

我正在寻找一种在服务器端绑定集合的方法,例如:

单绑定

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

结合到

person:{
    name: 'Name from html form'
}

如果我使用express,我可以在以下位置访问此对象:

app.post('/person', function(req, res){
    console.log(JSON.stringify(req.body.person, null, 2));
});

集合绑定

但现在我正在寻找一种方法来拥有多个电话号码,例如,我希望这个JSON到达:

person:{
    name: 'Name from html form',
    phones: [
        { number: '12345678' },
        { number: '87654321' }
    ]
}

那么,将输入绑定到集合字段的语法是什么呢???
我试过<input type="text" name="person[phone][number]" />没有成功,也不知道如何谷歌它(我已经试过了,没有成功...)。这是express/connect的功能吗?如果没有,最好的方法是什么?我知道这个特性在一些Java框架上存在,所以这里也可能存在。

0wi1tuuw

0wi1tuuw1#

感谢@Camus,我找到了实现的方法:

br
input(type="text", name="person[phones][0][type]")
input(type="text", name="person[phones][0][number]")

br
input(type="text", name="person[phones][1][type]")
input(type="text", name="person[phones][1][number]")

在服务器端提供以下内容:

person: {
    phones:
    [{
        type: "1",
        number: "23453131"
    },
    {
        type: "2",
        number: "51254534"
    }]
}

相关问题