В экспрессе можно ли POST массив объектов без AJAX?

Я пытаюсь передать массив объектов, используя обычную форму, без AJAX, и обнаруживаю, что вместо того, чтобы тело запроса анализировалось в массив объектов, в нем просто есть много полей, соответствующих именам объектов.

Я знаю, что при отправке массива примитивов вы просто заполняете множество входных данных одним и тем же именем, и оно будет заполняться; однако я не могу обернуться, применяя это к сложным объектам.

Мой код формы довольно прост:

<div class="col-sm-9">
    <div class="row">
        <div class="col-md-6">
            <div class="form">
                <div class="form-group">
                    <label for="attachment[0].name" class="control-label">Name</label>
                    <input name="attachment[0].name" class="form-control" value="First Name" type="text">
                </div>
                <div class="form-group">
                    <label for="attachment[0].uri" class="control-label">URI</label>
                    <input name="attachment[0].uri" class="form-control" value="First URI" type="text">
                </div>
                <div class="form-group">
                    <label for="attachment[0].description" class="control-label">Description</label>
                    <textarea rows="4" value="First Description" name="attachment[0].description" class="form-control">First Description</textarea>
                </div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-6">
            <div class="form">
                <div class="form-group">
                    <label for="attachment[1].name" class="control-label" >Name</label>
                    <input name="attachment[1].name" class="form-control" value="Second Name" type="text">
                </div>
                <div class="form-group">
                    <label for="attachment[1].uri" class="control-label">URI</label>
                    <input name="attachment[1].uri" class="form-control"  value="Second URI" type="text">
                </div>
                <div class="form-group">
                    <label for="attachment[1].description" class="control-label">Description</label>
                    <textarea rows="4" name="attachment[1].description" class="form-control">Second Description</textarea>
                </div>
            </div>
        </div>
    </div>

Я сделал пример репозитория, демонстрирующий мою проблему;https://github.com/xueye/express-form-issue где вы можете просто бежатьnode server.js, перейдите кhttp://localhost:3000 и подать заявку; тело запроса будет отображаться в вашей консоли, где оно должно отображаться как:

{ name: '',
  type: '',
  'attachment[0].name': 'First Name',
  'attachment[0].uri': 'First URI',
  'attachment[0].description': 'First Description',
  'attachment[1].name': 'Second Name',
  'attachment[1].uri': 'Second URI',
  'attachment[1].description': 'Second Description' }

Можно ли размещать данные так, как я пытаюсь?

Ответы на вопрос(1)

Ваш ответ на вопрос