HTML 表單編碼

2018-06-16 16:15 更新

HTML表單編碼

enctype 屬性指定瀏覽器如何編碼數(shù)據(jù)并將其呈現(xiàn)給服務(wù)器。

此屬性有三個(gè)允許值。

  • application/x-www-form-urlencoded
    默認(rèn)編碼。
    此編碼無(wú)法用于將文件上傳到服務(wù)器。
  • multipart/form-data
    此編碼用于將文件上傳到服務(wù)器。
  • text/plain
    此編碼因?yàn)g覽器而異。

要理解不同編碼的工作原理,我們創(chuàng)建了以下形式。

<!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 編碼,每個(gè)數(shù)據(jù)項(xiàng)的名稱和值都使用用于編碼URL的相同方案進(jìn)行編碼。這是編碼應(yīng)用于示例形式的數(shù)據(jù)的方式:

fave=Apples&name=FiratName+LastName

特殊字符將替換為其HTML實(shí)體對(duì)應(yīng)部分。數(shù)據(jù)項(xiàng)的名稱和值由等號(hào)(=)分隔,數(shù)據(jù)/值元組由&符號(hào)(&)分隔。

multipart/form-data

multipart / form-data 編碼往往僅用于上傳文件。下面是示例表單中的數(shù)據(jù)如何編碼:

------WebKitFormBoundary2desQWER543CDFGF

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

multipart/plain

主流瀏覽器以不同的方式對(duì)該編碼進(jìn)行編碼。

Google Chrome以與application / x-www-form-urlencoded方案相同的方式對(duì)數(shù)據(jù)進(jìn)行編碼,而Firefox對(duì)數(shù)據(jù)進(jìn)行編碼的方式如下:

fave=xml
name=www.o2fo.com

每個(gè)數(shù)據(jù)項(xiàng)都放在一行上,不會(huì)對(duì)特殊字符進(jìn)行編碼。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)