text: (window.webpackJsonp=window.webpackJsonp||[]).push([[23],{523:function(t,e,o){"use strict";o.r(e);var a=o(3),p=Object(a.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("div",{staticClass:"custom-block tip"},[o("p",[t._v('我们知道在通过 POST 方式向服务器发送 AJAX 请求时最好要通过设置请求头来指定为 application/x-www-form-urlencoded 编码类型。知道通过表单上传文件时必须指定编码类型为"multipart/form-data"。那么为什么要这么设置呢')])]),t._v(" "),o("p",[t._v("在 Form 元素的语法中，EncType 表明提交数据的格式")]),t._v(" "),o("p",[t._v("用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。")]),t._v(" "),o("p",[t._v("application/x-www-form-urlencoded ： 窗体数据被编码为名称/值对。这是标准的编码格式。")]),t._v(" "),o("p",[t._v("multipart/form-data ： 窗体数据被编码为一条消息，页上的每个控件对应消息中的一个部分。")]),t._v(" "),o("p",[t._v("text/plain ： 窗体数据以纯文本形式进行编码，其中不含任何控件或格式字符。")]),t._v(" "),o("p",[t._v("form 的 enctype 属性为编码方式，常用有两种： application/x-www-form-urlencoded 和 multipart/form-data ， 默认为 application/x-www-form-urlencoded 。")]),t._v(" "),o("p",[t._v("当 action 为 get 时候，浏览器用 x-www-form-urlencoded 的编码方式把 form 数据转换成一个字串（name1=value1&name2=value2...），然后把这个字串 append 到 url 后面，用?分割，加载这个新的 url。")]),t._v(" "),o("p",[t._v("当 action 为 post 时候，浏览器把 form 数据封装到 http body 中，然后发送到 server。")]),t._v(" "),o("p",[t._v("如果没有 type=file 的控件，用默认的 application/x-www-form-urlencoded 就可以了。")]),t._v(" "),o("p",[t._v("但是如果有 type=file 的话，就要用到 multipart/form-data 了。浏览器会把整个表单以控件为单位分割，并为每个部分加上 Content-Disposition(form-data 或者 file)、Content-Type(默认为 text/plain)、name(控件 name)等信息，并加上分割符(boundary)。")]),t._v(" "),o("div",{staticClass:"custom-block tip"},[o("p",[t._v("作者：佚名 "),o("br"),t._v("\n链接：https://www.jb51.net/article/51377.htm "),o("br"),t._v("\n来源：脚本之家")])])])}),[],!1,null,null,null);e.default=p.exports}}]);