HTML <form> 标签的 enctype 属性
2015-02-02 20:19
609 查看
在下面的例子中,表单数据会在未编码的情况下进行发送:
默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。
当enctype的默认值是application/x-www-form-urlencoded,这个值表示会将表单数据用&符号做一个简单的拼接。例如:
当enctype的值为multipart/form-data,这个值一般用于表单中包含文件上传的情况,它会将表单中的数据使用一个boundary作为分隔上传。例如:
这个时候Content-Type也相应的变为multipart/form-data,同时后面还加上了分隔符boundary的描述。
所以,其实form的enctype属性某种程度上决定了Content-Type值和请求body里头的数据格式。
<form action="form_action.asp" enctype="text/plain"> <p>First name: <input type="text" name="fname" /></p> <p>Last name: <input type="text" name="lname" /></p> <input type="submit" value="Submit" /> </form>
定义和用法
enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。
值 | 描述 |
---|---|
application/x-www-form-urlencoded | 在发送前编码所有字符(默认) |
multipart/form-data | 不对字符编码。 在使用包含文件上传控件的表单时,必须使用该值。 |
text/plain | 空格转换为 "+" 加号,但不对特殊字符编码。 |
POST /1.1/auth/access_token HTTP/1.1 Host: 127.0.0.1 Cache-Control: no-cache Content-Type: application/x-www-form-urlencoded username=tom&password=123456
当enctype的值为multipart/form-data,这个值一般用于表单中包含文件上传的情况,它会将表单中的数据使用一个boundary作为分隔上传。例如:
POST /1.1/auth/access_token HTTP/1.1 Host: 127.0.0.1 Cache-Control: no-cache ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="username" 18682750891 ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="password" 123456 ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="format" json ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="client_id" android ----WebKitFormBoundaryE19zNvXGzXaLvS5C
这个时候Content-Type也相应的变为multipart/form-data,同时后面还加上了分隔符boundary的描述。
所以,其实form的enctype属性某种程度上决定了Content-Type值和请求body里头的数据格式。
相关文章推荐
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 method 属性
- HTML <form> 标签的 enctype 属性
- 普普通通html中<form>标签和struts2中<s:form>标签action属性的不同
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 target 属性
- HTML <form> 标签的 target 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 enctype 属性
- HTML <form> 标签的 target 属性
- HTML <form> 标签的 enctype 属性