之前一直使用ajax请求数据,底层都是JQuery封装好的。导致使用axios时忽略了一些问题(在POST请求中,客户端和服务端须遵守同一种编码格式才能正确解析数据)
Content-type决定了数据编码格式,在请求头header中设置(没有使用axios及小程序自带的数据请求时,一直不知道这玩意)
一、GET请求
由于GET请求没有请求实体,参数附在URL后面,所以不需要设置Content-type
二、POST请求
常用的编码类型有这几种:1.application/x-www-form-urlencoded(常用于原生form表单提交);2.multipart/form-data(常用于文件传输);3.application/json(常用JSON格式编码)
注意:不同的Content-type需要对应不同的参数格式
1.application/x-www-form-urlencoded。参数格式:需要将正常的对象转化
例如:var data={
name:'小明',
age:'18'
}
data=qs.stringify(data)
注意: qs.stringify将对象序列化。使用qs.stringify函数时需要引入qs(通过npm安装)
2.multipart/form-data。参数格式:form-data
例如:var data=new FormData();
data.append("name","小明");
data.append("age","18");
3.application/json。参数格式:JSON对象
例如:var data={
"name","小明",
"age","18"
}