【问题标题】:How to auto bind collection from HTML form using node.js express framework?如何使用 node.js express 框架从 HTML 表单中自动绑定集合?
【发布时间】:2012-10-03 12:23:55
【问题描述】:

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

单一绑定

<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' }
    ]
}

那么将输入绑定到集合字段的语法是什么???

我试过&lt;input type="text" name="person[phone][number]" /&gt; 没有成功,也不知道如何用谷歌搜索它(我已经试过了,但没有成功......)。这是 express/connect 的功能吗?如果没有,实现它的最佳方法是什么?我知道这个特性存在于一些 Java 框架上,所以这里也可能存在。

【问题讨论】:

  • 你不需要对象,是吗?你试过 person[phone][] 吗?所以它将数字数据输出为数组?
  • @camus - 我打算在屏幕上有 0:许多电话号码(表格将动态生成),所以我不能硬编码 person[phone1][number]... 但我正在尝试你的想法,然后我发布发生了什么!

标签: javascript node.js express connect pug


【解决方案1】:

感谢@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"
    }]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-31
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    相关资源
    最近更新 更多