Die Übermittlung von Formulardaten im JSON-Codierungsformat ist ein weiterer wichtiger Beitrag von HTML5 zur Entwicklung und Weiterentwicklung von WEB. In der Vergangenheit wurden unsere HTML-Formulardaten serverseitig über die Schlüsselwertmethode übertragen Die Form der Datenorganisation ist sehr primitiv. Die neu entstandene Methode zur Übermittlung von Formulardaten im JSON-Format konvertiert alle Daten im Formular in ein JSON-Format mit bestimmten Spezifikationen und übermittelt sie dann an den Server. Bei den vom Server empfangenen Daten handelt es sich um qualifizierten JSON-Code, der direkt verwendet werden kann. So deklarieren Sie die Formularübermittlung im JSON-Format
Jeder sollte damit vertraut sein, wie man ein Formular zum Hochladen einer Datei verwendet. Dazu muss dem Formular-Tag in HTML die Anweisung „enctype="multipart/form-data" hinzugefügt werden, die den Browser anweist, die Formulardaten in einer Datei zu senden Upload-Modus. Die Deklaration des JSON-Format-Übermittlungsformulars ist wie folgt geschrieben: enctype='application/json'.
Kompatibilität mit älteren Browsern
Das Senden von Formularen im JSON-Format ist eine sehr neue Spezifikation in HTML5. Nur moderne Browser, die diese Spezifikationen implementieren, können die Semantik von enctype='application/json' erkennen und Formulardaten korrekt in das JSON-Format verpacken. Einige alte Browser sowie Browser, die diese Standards noch nicht implementiert haben, können nicht erkennen, was enctype='application/json' darstellt, sodass der Enctype des Formulars automatisch auf die Standardcodierung application/x-www-form-urlencoded herabgestuft wird . Formatieren. Serverseitiger Code kann basierend auf dem Wert von enctype bestimmen, wie Daten empfangen werden.
Formatbeispiel für das Übermittlungsformular für das JSON-Codierungsformat
Beispiel 1 Grundlegende Verwendung
XML/HTML-CodeInhalt in die Zwischenablage kopieren
- <form enctype='application/json'>
-
<Eingabe Name='Name' Wert='Bender'>
-
<wählen Name='hind' >
-
<Option ausgewählt>Bitbar< ;/Option>
-
<Option>KickbarOption>
-
auswählen>
-
<Eingabe Typ='Kontrollkästchen' Name='shiny'geprüft>
-
Formular>
-
- //Die generierten Json-Daten sind
- {
- „Name“: „Bender“
- , „hind“: „Bitable“
- , „glänzend“: wahr
- }
Beispiel 2: Wenn das Formular mehrere Formularfelder mit demselben Namen enthält, codieren Sie diese als JSON-Arrays
XML/HTML-CodeInhalt in die Zwischenablage kopieren
- <form enctype='application/json'>
-
<Eingabe Typ='Nummer' Name='Flasche an der Wand' Wert='1'>
-
<Eingabe Typ='Nummer' Name='Flasche an der Wand' Wert='2'>
-
<Eingabe Typ='Nummer' Name='Flasche an der Wand' Wert='3'>
-
Formular>
-
- // 生成的Json数据是
- {
- „Flasche an der Wand“: [1, 2, 3]
- }
例3 表单域名称以数组形成出现的复杂结构
XML/HTML-Code复制内容到剪贴板
- <form enctype='application/json'>
-
<Eingabe Name='Haustier[ Art]' Wert='Dahut'>
-
<Eingabe Name='Haustier[ Name]' Wert='Hypatia'>
-
<Eingabe Name='Kinder[ 1]' Wert='Thelma'>
-
<Eingabe Name='Kinder[ 0]' Wert='Ashley'>
-
Formular>
-
- // 生成的Json数据是
- {
- "Haustier": {
- "species": "Dahut"
- , „Name“: „Hypatia“
- }
- , "kids": ["Ashley", "Thelma"]
- }
例4 在上面的例子中,缺失的数组序号值将以null替代
XML/HTML-Code复制内容到剪贴板
- <form enctype='application/json'>
-
<input name='hearbeat[ 0]' Wert='thunk'>
-
<input name='hearbeat[ 2]' Wert='thunk'>
-
Formular>
-
- // 生成的Json数据是
- {
- "hearbeat": ["thunk", null, "thunk"]
- }
例5 多重数组嵌套格式,嵌套层数无限制
XML/HTML-Code复制内容到剪贴板
- <form enctype='application/json'>
-
<Eingabe Name='Haustier[ 0][Art]' Wert='Dahut'>
-
<Eingabe Name='Haustier[ 0][Name]' Wert='Hypatia'>
-
<Eingabe Name='Haustier[ 1][Art]' Wert='Felis Stultus'>
-
<Eingabe Name='Haustier[ 1][Name]' Wert='Billie'>
-
Formular>
-
- // 生成的Json数据是
- {
- „Haustier“: [
- {
- "species": "Dahut"
- , "Name": "Hypatia"
- }
- , {
- „Art“: „Felis Stultus“
- , „Name“: „Billie“
- }
- ]
- }
例6 真的,没有数组维度限制!
XML/HTML-Code复制内容到剪贴板
- <form enctype='application/json'>
-
<Eingabe Name='wow[ such][deep][3][much][power][!]' value='Amaze' >
-
Formular>
-
- // Die generierten Json-Daten sind
- {
- „wow“: {
- „so“: {
- „tief“: [
-
, null -
, null -
, , { -
„viel“: { -
„Macht“: { -
„!“: „Amaze“ -
-
-
-
} -
-
Beispiel 7 Datei-Upload
-
XML/HTML-Code- Inhalt in die Zwischenablage kopieren
- <formulaire enctype='application/json'>
-
<entrée type='fichier' nom='fichier' multiple>
-
formulaire>
-
- // Supposons que vous téléversiez 2 fichiers, les données Json générées sont :
- {
- "fichier": [
-
"type": "texte/plain", -
"nom": "dahut.txt", -
"corps": "-
REFBQUFBQUFIVVVVVVVVVVVCEhIQo="
}, -
- "type": "texte/plain",
- "nom": "litany.txt",
- "Corps": " SSBTDXN0IG5VDCBMZWFYLLLXVHCIBPCIBPCIB0AGUGBWLUZC1RWXSZIUCG
- =="
] -
} -
-