In Express, ist es möglich, ein Array von Objekten ohne AJAX zu POSTEN?

Ich versuche, ein Array von Objekten mithilfe eines regulären Formulars ohne AJAX zu übermitteln, und stelle jedoch fest, dass der Anforderungshauptteil nicht in ein Array von Objekten zerlegt wird, sondern nur viele Felder enthält, die den Namen der Objekte entsprechen.

Ich weiß, dass Sie beim Übermitteln eines Arrays von Grundelementen einfach viele Eingaben mit demselben Namen füllen und es wird gefüllt. Ich kann mich jedoch nicht darum kümmern, dies auf komplexe Objekte anzuwenden.

Mein Formularcode ist ziemlich einfach:

<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>

Ich habe ein Beispielrepository erstellt, das mein Problem demonstriert.https: //github.com/xueye/express-form-issu wo du einfach laufen kannstnode server.js, navigiere zuhttp://localhost:3000 und reiche den Eintrag ein; Der Anfragetext wird in Ihrer Konsole angezeigt. Dort sollte er wie folgt lauten:

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

Ist es möglich, Daten so zu POSTEN, wie ich es versuche?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage