application/x-www-form-urlencoded multipart/form-data text/plain 的区别和作用
我们知道在通过POST方式向服务器发送AJAX请求时最好要通过设置请求头来指定为application/x-www-form-urlencoded编码类型。知道通过表单上传文件时必须指定编码类型为"multipart/form-data"。而text/plain是我们在做纯文本传输时防止接收数据时出现编码混乱而设置的。可是我一直没有搞清楚为什么要这么设置。后来查了些资料才找到了三者的区别。
application/x-www-form-urlencoded
这是通过表单发送数据时默认的编码类型。我们没有在from标签中设置enctype属性时默认就是application/x-www-form-urlencoded类型的。application/x-www-form-urlencoded编码类型会把表单中发送的数据编码为名称/值对。这是标准的编码格式。当表单的ACTION为POST的时候,浏览器把form数据封装到http body中,然后发送到服务器。当表单的ACTION为GET的时候,application/x-www-form-urlencoded编码类型会把表单中发送的数据转换成一个字符串(name=coderbolg&key=php),然后把这个字符串附加到URL后面,并用?分割,接着就请求这个新的URL。当我们通过POST方式向服务器发送AJAX请求时最好要通过设置请求头来指定为application/x-www-form-urlencoded编码类型。方法是在xmlobject.open()方法之后添加
xmlobject.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
不然服务器会接收不到POST过来的数据。
multipart/form-data
这个是专门用来传输特殊类型数据的,如我们上传的非文本的内容,比如图片或者MP3等。multipart/form-data编码类型会把表单中的发送的数据编码为一条消息,页面上每个表单控件对应消息中的一部分。当表单中有file类型控件并希望它正常工作的话(废话吧)就必须设置成multipart/form-data类型,浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件 name)等信息,并加上分割符(boundary)。
text/plain
数据以纯文本形式进行编码,其中不含任何控件或格式字符。没有什么好说的。
application/x-www-form-urlencoded multipart/form-data text/plain 的区别和作用相关推荐
- 编码 data:text/html;c,关于 Data URI Scheme -- data:image/jpg;base64
转载一篇大神的文章 大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如: data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqA ...
- data:text/html firefox钓鱼,JS DataURL 整理(一)
一.初识Data URL 数据URL是带有前缀的URL,data:可以将小文件直接嵌入文档中. data URL是一种特殊格式的url,它的前缀是data: data URL允许内容的创建者将小文件嵌 ...
- 编码 data:text/html;c,[网页设计]图片base64编码利器:在线 Data URI 生成工具 – Duri.me...
这篇文章介绍一款在线的图片 base64 编码利器 - Duri.me.data URI 图片是 base64编码的图片文件,可以嵌入到 HTML 或者 CSS 文件中,能够减少 HTTP 请求,提高 ...
- 编码 data:text/html;c,javascript中Data URI使用详解
Data URI,不是URL URL是uniform resource locator的缩写,在web中的每一个可访问资源都有一个URL地址,例如图片,HTML文件,js文件以及style sheet ...
- data:text/html;c,html image -- data:image/png;base64
1, data:image/png;base64 能够把上面 src 中的url 直接copy到浏览器地址栏中. Data URI scheme是在RFC2397中定义的.目的是将一些小的数据.直接 ...
- IllegalArgumentException:@Body parameters cannot be used with form or multi-part encoding
使用retrofit时报错IllegalArgumentException:@Body parameters cannot be used with form or multi-part encodi ...
- html form半透明,HTML——form
国色天香:Form表单的基本使用 form表单:用来接收用户输入信息,表单中可以包含input标签(我们将会在后面详细讲解),下面学习一下form表单的属性. action :设置URL将表单数据发送 ...
- ExtJs6解决添加和修改Form共用一个form的隐藏域的id的取消传值
问题重现:修改不会有问题,id会绑定之前的grid,有具体数字 添加有问题,因为id是空,传的是绑定值的话会显示"类名-1",从int类型变成了string类型,后台会出错 这是E ...
- form提交--jquery.form.js
jquery.form.js 官网 http://www.malsup.com/jquery/form/ 先写一个简单的form,提交后在后台打印参数. formsubmit.jsp <%@ ...
最新文章
- OpenCL,OpenGL编译
- java加载xml配置文件_java读取配置文件的几种方法
- axios 发 post 请求,后端接收不到参数的解决方案
- 使用Sqlmap对dvwa进行sql注入测试(初级阶段)
- 聚类算法 距离矩阵_快速且不需要超参的无监督聚类方法
- POI(java 操作excel,word等)编程
- excel在线_功能强大的纯前端 Excel 在线表格: Luckysheet
- 使用@Async进行异步调用详解
- 【转载+思考】追问泄题之源:命题权寻租打开方便之门
- 管理学基础 形成性考核一
- python random random_【python】random与numpy.random
- 深入理解JVM虚拟机(一):JVM运行时数据区
- 如何解决存在的1px问题?
- 个性测试:跟乐嘉学性格色彩(图)
- OSChina 周六乱弹 ——因为四毛钱,友谊的小船就翻了
- 【OpenCV图像处理】十五、图像空域滤波(上)
- 水星怎么设置网速最快_水星路由器怎么限制别人网速_水星怎么限制wifi网速?-192路由网...
- 苹果微信多开_史上最全微信双开 全平台【IOS/安卓/WIN】
- 深入理解Linux内核第3版--笔记-1.pdf
- 数组随机取数(大乐透机选投注)
热门文章
- Notification和Notification Manager的使用
- 天猫权益平台如何10倍的提升数据库查询响应时间
- aspose-cells 表合并
- 支付宝发布黑科技“如影计划”,这真的不是愚人节的玩笑
- iOS开发--Mac下server搭建
- 有关网页渲染,每个前端开发者都该知道的那点事
- Essential Studio for mobile MVC如何创建一个Razor应用程序平台
- Windows Mobile使用Shared Memory(共享内存)进行IPC(进程间通信)的开发
- 企业中的混乱:如何对云计算具有信心
- 《Storm实时数据处理》一2.6 统计与持久化日志统计信息