HTML 表单编码

2018-06-16 16:15 更新

HTML表单编码

enctype 属性指定浏览器如何编码数据并将其呈现给服务器。

此属性有三个允许值。

  • application/x-www-form-urlencoded
    默认编码。
    此编码无法用于将文件上传到服务器。
  • multipart/form-data
    此编码用于将文件上传到服务器。
  • text/plain
    此编码因浏览器而异。

要理解不同编码的工作原理,我们创建了以下形式。

<!DOCTYPE HTML> <html> <body> <form method="post" action="http://example.com/form"> <input name="fave" /> <input name="name" /> <button>Submit Vote</button> </form> </body> </html>

application/x-www-form-urlencoded

如果使用 application / x-www-form-urlencoded 编码,每个数据项的名称和值都使用用于编码URL的相同方案进行编码。这是编码应用于示例形式的数据的方式:

fave=Apples&name=FiratName+LastName 

特殊字符将替换为其HTML实体对应部分。数据项的名称和值由等号(=)分隔,数据/值元组由&符号(&)分隔。

multipart/form-data

multipart / form-data 编码往往仅用于上传文件。下面是示例表单中的数据如何编码:

------WebKitFormBoundary2desQWER543CDFGF Content-Disposition: form-data; name="fave" YourName ------WebKitFormBoundary2desQWER543CDFGF Content-Disposition: form-data; name="name" www.w3cschool.cn ------WebKitFormBoundary2desQWER543CDFGF-- fave=Apple name=www.w3cschool.cn 

multipart/plain

主流浏览器以不同的方式对该编码进行编码。

Google Chrome以与application / x-www-form-urlencoded方案相同的方式对数据进行编码,而Firefox对数据进行编码的方式如下:

fave=xml name=www.w3cschool.cn 

每个数据项都放在一行上,不会对特殊字符进行编码。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号