Beim Absenden eines Formulars werden die Daten normalerweise als einzelne Formularfelder gesendet. Wenn Sie jedoch Daten als JSON-Objekt senden möchten, können Sie die folgenden Methoden verwenden:
Konvertieren Sie die Formulardaten mit serializeArray() von jQuery in ein Array Methode und stringifizieren Sie sie dann in JSON.
var formData = JSON.stringify($("#myForm").serializeArray());
Erstellen Sie einen versteckten Textbereich innerhalb des Formulars und legen Sie seinen Wert auf die JSON-stringifizierten Formulardaten fest. Mit dieser Methode können Sie nach der Formularübermittlung serverseitig auf die Daten zugreifen.
<input type="hidden" name="data" value="{"first_name":"binchen","last_name":"heris"}">
Wenn die JSON-Daten im Rahmen einer regulären Formularübermittlung übertragen werden, ist dies der Fall muss auf der Serverseite dekodiert werden. Zum Beispiel in PHP:
$data = json_decode($_POST['data']);
In Ihrem Code liegt das Problem möglicherweise darin, dass Sie den Content-Type-Header nicht explizit auf application/json gesetzt haben. Der korrigierte Code sollte sein:
xhr.setRequestHeader('Content-Type', 'application/json');
Das obige ist der detaillierte Inhalt vonWie übertrage ich ein JSON-Objekt über HTML-Formulardaten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!