四种常见的 POST 提交数据方式

549 阅读1分钟

HTTP 协议是以 ASCII 码传输。他是建立在 TCP/IP 协议之上的应用层规范, 规定HTTP 请求分为三个部分:

状态行
headers 请求头
entity-body 消息主体

enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码

1、application/x-www-form-urlencoded

在发送前编码所有字符(默认)(空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值)。

2、multipart/form-data

multipart/form-data 是基于post方式来传递数据的 
不对字符编码。在使用包含文件上传控件的表单时,必须使用该值
Content-Type:multipart/form-data
form-data格式一般是用来进行文件上传。
使用表单上传文件时,必须让表单的enctype等于multipart/form-data
因为该默认值为application/x-www-form-urlencoded

#### FormData对象
let formData = new FormData()
formData.append('username','lianghn')
formData.append('account','123456')

3、application/json

作为请求头告诉服务端消息主体是序列化的JSON字符串。除低版本的IE,基本都支持。

4、text/plain

空格转换为 “+” 加号,但不对特殊字符编码。