您的位置:首页 > 其它

form表单标签的enctype属性的作用

2015-12-17 17:29 399 查看
Enctype是指定将数据回发到server时浏览器使用的编码类型。其编码类型有下面三种

一、 application/x-www-form-urlencoded

这是通过表单发送数据时默认的编码类型。我们没有在from标签中设置enctype属性时默认就是application/x-www-form-urlencoded类型的。application/x-www-form-urlencoded编码类型会把表单中发送的数据编码为名称/值对。这是标准的编码格式。当表单的ACTION为POST的时候。浏览器把form数据封装到http body中,然后发送到server。

当表单的ACTION为GET的时候。application/x-www-form-urlencoded编码类型会把表单中发送的数据转换成一个字符串(name=coderbolg&key=php),然后把这个字符串附加到URL后面。并用?切割,接着就请求这个新的URL。当我们通过POST方式向server发送AJAX请求时最好要通过设置请求头来指定为application/x-www-form-urlencoded编码类型。

方法是在xmlobject.open()方法之后加入

xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
不然server会接收不到POST过来的数据。

二、 multipart/form-data

这个是专门用来传输特殊类型数据的。如我们上传的非文本的内容,比方图片或者MP3等。这样的编码类型不正确字符编码,数据通过二进制的形式传送到server端,这时假设用request是无法直接获取到对应表单的值的。而应该通过stream流对象,将传到server端的二进制数据解码,从而读取数据。

三、 text/plain

数据以纯文本形式进行编码。当中不含不论什么控件或格式字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: