定義傳輸類型

為了正確編碼和解碼表單數(shù)據(jù),form元素定義一個(gè)enctype屬性,該屬性可以定義表單數(shù)據(jù)的編碼類型。常用類型包括兩種,說明如下,另外還可以設(shè)置text/plain類型,以直接字符形式進(jìn)行傳遞,該類型不常用。

?application/x-www-form-URLencoded

application/x-www-form-URLencoded是默認(rèn)編碼類型。表單數(shù)據(jù)被編碼為“名/值”對(duì)的形式(這是標(biāo)準(zhǔn)的編碼格式)。

這種編碼方式將空格用“+”代替,非字母和數(shù)字字符用以“%hh”表示的該字符的ASCII編碼代替(漢字就是這種形式),而變量和值使用“=”連接在一起,各個(gè)變量和值對(duì)之間使用“&”連接。通過這種方式把表單中輸入的數(shù)據(jù)進(jìn)行打包,并發(fā)送到服務(wù)器端。

application/x-www-form-URLencoded編碼方式不能傳遞二進(jìn)制數(shù)據(jù)流,不適合文件上傳,它只能提交符合ASCII編碼的文本字符串。 

  ?multipart/form-data

multipart/form-data編碼可以把表單數(shù)據(jù)編碼為多條消息,其中每個(gè)表單域?qū)?yīng)一個(gè)消息塊。這種方式傳輸?shù)南艘幌盗械臄?shù)據(jù)塊,每一個(gè)數(shù)據(jù)塊代表表單中的一個(gè)表單域變量,并且數(shù)據(jù)塊的排列順序與頁面中表單域的排列順序是一一對(duì)應(yīng)的。數(shù)據(jù)塊與數(shù)據(jù)塊之間使用特殊字符分隔。

multipart/form-data編碼方式可以用來傳輸二進(jìn)制數(shù)據(jù)或者非ASCII字符的文本(如圖片、不同格式的文件等)。請(qǐng)注意,只有使用multipart/form-data方式,才能完整地傳遞文件數(shù)據(jù)。但是這種編碼方式在客戶端和服務(wù)器端都會(huì)有很多限制。

提示:multipart/form-data編碼方式,必須使用POST方法,GET方法無法處理這樣的表單數(shù)據(jù)。


網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷咨詢專線:0871-63535511(點(diǎn)擊可一鍵撥號(hào))