FormData与Content-Type类型关系

2020-06-163104次阅读HTMLjavascript原生Js

FormData对象用来将数据编译成键值对,以便用XMLHttpRequest来发送数据。它使用的格式与表单将Content-Type类型设置为"multipart/form-data"时使用的格式相同。直白点说当使用FormData对象时请将Content-Type类型设置为"multipart/form-data"

<form enctype="multipart/form-data" method="post">
....
</form>

常见的 Content-Type 类型

  http协议是以ASCII码传输,建立在TCP/IP协议之上的应用层规范;

  该规范把HTTP请求分为三个部分:状态行、请求头、消息主体。

  在使用post进行请求的时候,数据发送出去,只有当浏览器解析成功才具有意义。

  对于一般的服务器语言,例如php、python等都内置了自动解析常见数据格式的功能;而服务器是根据请求头 headers 中的 content-type

  (1)application/x-www-form-urlencode

         浏览器的原生form表单,如果不设置 enctype 属性,最终将会以application/x-www-form-urlencode方式提交数据;像jquery、Qwrap的ajax,content-type默认值都是 application/x-www-form-urlencode

  (2)multipart/form-data

    利用表单长传文件的时候,必须让form的enctyped等于这个值;这个格式一般是用来上传文件的,各大服务端语言对他也有着良好的支持

  常见的媒体格式类型如下:

  •     text/html : HTML格式
  •     text/plain :纯文本格式      
  •     text/xml :  XML格式
  •     image/gif :gif图片格式    
  •     image/jpeg :jpg图片格式 
  •     image/png:png图片格式

   以application开头的媒体格式类型:

  •    application/xhtml+xml :XHTML格式
  •    application/xml     : XML数据格式
  •    application/atom+xml  :Atom XML聚合格式    
  •    application/json    : JSON数据格式
  •    application/pdf       :pdf格式  
  •    application/msword  : Word文档格式
  •    application/octet-stream : 二进制流数据(如常见的文件下载)
  •    application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
上一篇: 如何将搜索表单重定向到站点范围的Google搜索  下一篇: CSS计数器CSS counters给数字后面加背景  

FormData与Content-Type类型关系相关文章