0

サーバー側でコレクションをバインドする方法を探しています。例:

シングルバインディング

<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]" />成功せずに試しました、そしてそれのためにグーグルする方法がわかりません(私はすでに試みましたが、成功しませんでした...)。これはエクスプレス/コネクトの機能ですか?そうでない場合、それを達成するための最良の方法は何ですか?この機能は一部のJavaフレームワークに存在することを知っているので、これはここにも存在する可能性があります。

4

1 に答える 1

0

@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"
    }]
}
于 2012-10-03T18:33:29.240 に答える