為了正確編碼和解碼表單數(shù)據(jù),form元素定義一個(gè)enctype屬性,該屬性可以定義表單數(shù)據(jù)的編碼類型。常用類型包括兩種,說(shuō)明如下,另外還可以設(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ì)之間使用“&”連接。通過(guò)這種方式把表單中輸入的數(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ù)塊的排列順序與頁(yè)面中表單域的排列順序是一一對(duì)應(yīng)的。數(shù)據(jù)塊與數(shù)據(jù)塊之間使用特殊字符分隔。
multipart/form-data編碼方式可以用來(lái)傳輸二進(jìn)制數(shù)據(jù)或者非ASCII字符的文本(如圖片、不同格式的文件等)。請(qǐng)注意,只有使用multipart/form-data方式,才能完整地傳遞文件數(shù)據(jù)。但是這種編碼方式在客戶端和服務(wù)器端都會(huì)有很多限制。
提示:multipart/form-data編碼方式,必須使用POST方法,GET方法無(wú)法處理這樣的表單數(shù)據(jù)。
當(dāng)前文章標(biāo)題:定義傳輸類型
當(dāng)前URL:http://51zuanshi.com.cn/news/wzzz/3258.html
上一篇:使用表單對(duì)象