enctype
屬性指定瀏覽器如何編碼數(shù)據(jù)并將其呈現(xiàn)給服務(wù)器。
此屬性有三個(gè)允許值。
application/x-www-form-urlencoded
multipart/form-data
text/plain
要理解不同編碼的工作原理,我們創(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
編碼,每個(gè)數(shù)據(jù)項(xiàng)的名稱和值都使用用于編碼URL的相同方案進(jìn)行編碼。這是編碼應(yīng)用于示例形式的數(shù)據(jù)的方式:
fave=Apples&name=FiratName+LastName
特殊字符將替換為其HTML實(shí)體對應(yīng)部分。數(shù)據(jù)項(xiàng)的名稱和值由等號(=)分隔,數(shù)據(jù)/值元組由&符號(&)分隔。
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
主流瀏覽器以不同的方式對該編碼進(jìn)行編碼。
Google Chrome以與application / x-www-form-urlencoded
方案相同的方式對數(shù)據(jù)進(jìn)行編碼,而Firefox對數(shù)據(jù)進(jìn)行編碼的方式如下:
fave=xml name=www.o2fo.com
每個(gè)數(shù)據(jù)項(xiàng)都放在一行上,不會(huì)對特殊字符進(jìn)行編碼。
更多建議: