Home Web Front-end H5 Tutorial Detailed example of using JSON format to submit forms in HTML5_html5 tutorial skills

Detailed example of using JSON format to submit forms in HTML5_html5 tutorial skills

May 16, 2016 pm 03:46 PM
html5 json

Submitting form data in JSON encoding format is another major contribution of HTML5 to the development and evolution of WEB. In the past, our HTML form data was transmitted on the server side through key-value method. This form of transmission lacked management of data organization. The form is very primitive. The newly emerged method of submitting form data in JSON format converts all data in the form into a JSON format with certain specifications, and then transmits it to the server. The data received by the server is qualified JSON code that can be used directly. How to declare form submission in JSON format

Everyone should be familiar with how to use a form to upload a file. It requires adding the enctype="multipart/form-data" statement to the form tag in HTML, which tells the browser to send the form data in file upload mode. The declaration of the JSON format submission form is similar to this. It is written as: enctype='application/json'.
Compatibility with older browsers

Submitting forms in JSON format is a very new specification in HTML5. Only modern browsers that implement these specifications can recognize the semantics of enctype='application/json' and correctly package form data into JSON format. For some old browsers, as well as browsers that have not yet implemented these standards, they cannot recognize what enctype='application/json' represents, so the form's enctype will automatically degrade to the application/x-www-form-urlencoded default encoding. Format. Server-side code can determine how to receive data based on the value of enctype.
Format example of JSON encoding format submission form
Example 1 Basic usage

XML/HTML CodeCopy content to clipboard
  1. <form enctype='application/json'> 
  2. <input name='name' value='Bender'>
  3. <select name='hind' >
  4.  <option selected>Bitable< ;/option> 
  5.  <option>Kickableoption>
  6. select>
  7. <input type='checkbox' name='shiny' checked>
  8. form>
  9. //The generated Json data is
  10. {
  11. "name": "Bender"
  12. , "hind": "Bitable"
  13. , "shiny": true
  14. }

Example 2 When there are multiple form fields with the same name in the form, encode them as JSON arrays

XML/HTML CodeCopy content to clipboard
  1. <form enctype='application/json'>  
  2.       <input type='number' name='bottle-on-wall' value='1'>  
  3.       <input type='number' name='bottle-on-wall' value='2'>  
  4.       <input type='number' name='bottle-on-wall' value='3'>  
  5.     form>  
  6.         
  7.     // 生成的Json数据是   
  8.     {   
  9.       "bottle-on-wall":   [1, 2, 3]   
  10.     }  

例3 表单域名称以数组形成出现的复杂结构

XML/HTML Code复制内容到剪贴板
  1. <form enctype='application/json'>  
  2.   <input name='pet[species]' value='Dahut'>  
  3.   <input name='pet[name]' value='Hypatia'>  
  4.   <input name='kids[1]' value='Thelma'>  
  5.   <input name='kids[0]' value='Ashley'>  
  6. form>  
  7.     
  8. // 生成的Json数据是   
  9. {   
  10.     "pet":  {   
  11.         "species":  "Dahut"   
  12.     ,   "name":     "Hypatia"   
  13.     }   
  14. ,   "kids":   ["Ashley", "Thelma"]   
  15. }  

例4 在上面的例子中,缺失的数组序号值将以null替代

   

XML/HTML Code复制内容到剪贴板
  1. <form enctype='application/json'>  
  2.       <input name='hearbeat[0]' value='thunk'>  
  3.       <input name='hearbeat[2]' value='thunk'>  
  4.     form>  
  5.         
  6.     // 生成的Json数据是   
  7.     {   
  8.         "hearbeat":   ["thunk", null, "thunk"]   
  9.     }  

例5 多重数组嵌套格式,嵌套层数无限制

   

XML/HTML Code复制内容到剪贴板
  1. <form enctype='application/json'>  
  2.       <input name='pet[0][species]' value='Dahut'>  
  3.       <input name='pet[0][name]' value='Hypatia'>  
  4.       <input name='pet[1][species]' value='Felis Stultus'>  
  5.       <input name='pet[1][name]' value='Billie'>  
  6.     form>  
  7.         
  8.     // 生成的Json数据是   
  9.     {   
  10.         "pet":  [   
  11.             {   
  12.                 "species":  "Dahut"   
  13.             ,   "name":     "Hypatia"   
  14.             }   
  15.         ,   {   
  16.                 "species":  "Felis Stultus"   
  17.             ,   "name":     "Billie"   
  18.             }   
  19.         ]   
  20.     }  

例6 真的,没有数组维度限制!

   

XML/HTML Code复制内容到剪贴板
  1. <form enctype='application/json'> 
  2.  <input name='wow[ such][deep][3][much][power][!]' value='Amaze' >
  3.  form> 
  4.  
  5. // The generated Json data is
  6. {
  7. "wow": {
  8. "such": {
  9. "deep": [
  10.                                                                                                                                                   
  11. , null
  12. , null
  13. , , {
  14. “much”: {
  15. "power": {
  16. “!”: “Amaze”
  17.                                                                            
  18.                                                                     
  19.                                                                       
  20.                                                         
  21.                                                                 
  22.                                                               
  23. }
  24. Example 7 File upload
  25. XML/HTML Code
  26. Copy content to clipboard
    1. <form enctype='application/json'> 
    2.  <input type='file' name='file' multiple>
    3. form>
    4.  
    5. // Suppose you upload 2 files, the generated Json data is:
    6. {
    7. "file": [
    8.                                                    
    9. "type": "text/plain",
    10. "name": "dahut.txt",
    11. "body": "
    12. REFBQUFBQUFIVVVVVVVVVVVVCEhIQo="
    13. },
    14.                                                    
    15. "type": "text/plain",
    16. "name": "litany.txt",
    17. "Body": " SSBTDXN0IG5VDCBMZWFYLLLXVHCIBPCIBPCIB0AGUGBWLUZC1RWXSZIUCG
    18. =="                                                            
    19. ]
    20. }
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Table Border in HTML Table Border in HTML Sep 04, 2024 pm 04:49 PM

Guide to Table Border in HTML. Here we discuss multiple ways for defining table-border with examples of the Table Border in HTML.

Nested Table in HTML Nested Table in HTML Sep 04, 2024 pm 04:49 PM

This is a guide to Nested Table in HTML. Here we discuss how to create a table within the table along with the respective examples.

HTML margin-left HTML margin-left Sep 04, 2024 pm 04:48 PM

Guide to HTML margin-left. Here we discuss a brief overview on HTML margin-left and its Examples along with its Code Implementation.

HTML Table Layout HTML Table Layout Sep 04, 2024 pm 04:54 PM

Guide to HTML Table Layout. Here we discuss the Values of HTML Table Layout along with the examples and outputs n detail.

Moving Text in HTML Moving Text in HTML Sep 04, 2024 pm 04:45 PM

Guide to Moving Text in HTML. Here we discuss an introduction, how marquee tag work with syntax and examples to implement.

HTML Ordered List HTML Ordered List Sep 04, 2024 pm 04:43 PM

Guide to the HTML Ordered List. Here we also discuss introduction of HTML Ordered list and types along with their example respectively

HTML onclick Button HTML onclick Button Sep 04, 2024 pm 04:49 PM

Guide to HTML onclick Button. Here we discuss their introduction, working, examples and onclick Event in various events respectively.

HTML Input Placeholder HTML Input Placeholder Sep 04, 2024 pm 04:54 PM

Guide to HTML Input Placeholder. Here we discuss the Examples of HTML Input Placeholder along with the codes and outputs.

See all articles