HTML5_html5 チュートリアル スキルで JSON 形式を使用してフォームを送信する詳細な例
May 16, 2016 pm 03:46 PMJSON エンコード形式でのフォーム データの送信は、WEB の開発と進化に対する HTML5 のもう 1 つの大きな貢献です。これまで、HTML フォーム データはキーバリュー方式でサーバー側で送信されていましたが、この形式の送信には管理が不足していました。データ構成の形式は非常に原始的です。新たに登場したフォームデータをJSON形式で送信する方法は、フォーム内のすべてのデータを一定の仕様でJSON形式に変換してサーバーに送信します。サーバーが受信したデータは、直接使用できる修飾された JSON コードです。 JSON 形式でフォーム送信を宣言する方法
フォームを使用してファイルをアップロードする方法については、誰もがよく知っているはずです。これには、HTML の form タグに enctype="multipart/form-data" ステートメントを追加する必要があります。これにより、ブラウザーにフォーム データをファイルで送信するように指示されます。アップロードモード。 JSON 形式の送信フォームの宣言は、enctype='application/json' のように記述されます。
古いブラウザとの互換性
JSON 形式でのフォームの送信は、HTML5 の非常に新しい仕様です。これらの仕様を実装している最新のブラウザーのみが enctype='application/json' のセマンティクスを認識し、フォーム データを JSON 形式に正しくパッケージ化できます。一部の古いブラウザーや、これらの標準をまだ実装していないブラウザーでは、enctype='application/json' が何を表すかを認識できないため、フォームの enctype は自動的に application/x-www-form-urlencoded のデフォルト エンコーディングに低下します。 .フォーマット。サーバー側のコードは、enctype の値に基づいてデータの受信方法を決定できます。
JSONエンコード形式投稿フォームのフォーマット例
例1 基本的な使い方
- <form enctype='application/json'>
- <入力 名前='名前' 値='ベンダー'>
- <選択 名前='hind' >
- <オプション選択>ビット可能< ;/オプション>
- <オプション>キック可能</オプション>
- </select>
- <入力 type='チェックボックス' 名前='shiny' チェック済み>
- </フォーム>
- //生成された Json データは です
- {
- "名前": "ベンダー"
- 、"後": "噛みやすい"
- 、「光沢」: true
- }
例 2 フォーム内に同じ名前のフォームフィールドが複数ある場合、それらを JSON 配列としてエンコードします
- <フォーム enctype='application/json'>
- <入力 type='数値' 名前='ボトルオンウォール' 値='1'>
- <入力 type='数値' 名前='ボトルオンウォール' 値='2'>
- <入力 type='数値' 名前='ボトルオンウォール' 値='3'>
- </フォーム>
- // 生成された Json データです
- {
- 「ボトルオンウォール」: [1, 2, 3]
- }
例 3 表ドメイン名が数組で形成される複雑な構造
- <フォーム enctype='application/json'>
- <入力 名前='pet[種]' 値='ダハット'>
- <入力 名前='pet[名前]' 値='Hypatia'>
- <入力 名前='子供[ 1]' 値='テルマ'>
- <入力 名前='子供[ 0]' 値='アシュリー'>
- </フォーム>
- // 生成された Json データ据は
- {
- 「ペット」: {
- 「種」: 「ダハット」
- , 「名前」: 「ヒュパティア」
- }
- 、 "キッズ": ["アシュリー"、 "テルマ"]
- }
例 4 上の例では、失われた数列番号は null で置き換えられます
- <フォーム enctype='application/json'>
- <入力 名前='hearbeat[ 0]' 値='サンク'>
- <入力 名前='hearbeat[ 2]' 値='サンク'>
- </フォーム>
- // 生成された Json データです
- {
- 「ハートビート」: [「サンク」, null, 「サンク」]
- }
例5 多重数组嵌套格式,嵌套层数無制限
- <フォーム enctype='application/json'>
- <入力 名前='pet[ 0][種]' 値='ダハット'>
- <入力 名前='pet[ 0][名前]' 値='ヒパティア'>
- <入力 名前='pet[ 1][種]' 値='フェリス・ストゥルタス'>
- <入力 名前='pet[ 1][名前]' 値='ビリー'>
- </フォーム>
- // 生成された Json データです
- {
- 「ペット」: [
- {
- 「種」: 「ダハット」
- , 「名前」: 「ヒュパティア」
- }
- , {
- 「種」: 「フェリス・ストゥルトゥス」
- , 「名前」: 「ビリー」
- }
- ]
- }
例6 真的,没有数组维度制限!
- <form enctype='application/json'>
- <入力 名前='すごい[など][深い][3][たくさん][パワー][!]' 値='驚き' >
- </フォーム>
- // 生成された Json データは です
- {
- 「すごい」: {
- 「そのような」: {
- "深い": [
- 、null
- 、null
- 、 、 {
- 「たくさん」: {
- "パワー": {
- 「!」: 「驚く」
- }
- 例 7 ファイルのアップロード
- XML/HTML コード
- コンテンツをクリップボードにコピー
- <form enctype='application/json'>
- <input type='file' 名前='ファイル' 複数>
- </フォーム>
- // 2 つのファイルをアップロードすると、生成される Json データは次のとおりです:
- {
- "ファイル": [
- "タイプ": "テキスト/プレーン"、
- "名前": "dahut.txt"、
- "ボディ": "
- REFBQUFBQUFIVVVVVVVVVVVVCEhIQo=" }、
- "タイプ": "テキスト/プレーン"、
- "名前": "litany.txt"、
- "本文": " SSBTDXN0IG5VDCBMZWFYLLLXVHCIBPCIBPCIB0AGUGBWLUZC1RWXSZIUCG
- ==" ]
- }

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









