使用get发请求参数放在query中,
1.直接拼接在url上
export function getOtherListById(id) {
return request({
url: pro + '/biz/process/control/' + id,
method: 'get'
})
}
2.放在params中,不显示在url,也是字符串形式
params属性是将参数添加到url的请求字符串中。
async getOrgList() {
let res = await this.$axios.get('/user/b/getOrgList', {
params: {
pageNo: 1,
pageSize: 99,
type: 6
}
})
this.researchList = res.data.retData.list
},
post请求有请求体,传递的参数既可以放在请求体中也可以放在url后面。
使用post发请求参数可以放在params或者body中
1.data中
data是添加到请求体(body)中,该方式传递的参数有两种格式:
1.1 application/json格式:该格式data用json字符串进行传递参数,数据格式是application/json。
this.axios({
method:'post',
data:{
name:"lhj",
age:24
},
url:'http://localhost:1111/01/ajax'
}).then(function(resp){
console.log(resp.data);
})
1.2 application/x-www-form-urlencoded格式
该格式data用查询字符串进行传递参数,即"name1 = value1&name2 = value2"的形式。
该格式data有两种传递方式
第一种:直接传递字符串
data:"name=lhj&age=123", //字符串形式
第二种:使用qs.stringify()将json转换成查询字符串
data:qs.stringify({name:'lhj',age:24}),
2、params属性传递
post请求用该属性传递参数跟get请求一样,将参数拼接在url之后。
this.axios({
method:'post',
params:{
name:"lhj"
},
url:'http://localhost:1111/01/ajax'
}).then(function(resp){
console.log(resp.data);
})
常见的content-type类型
表示请求和响应中的媒体类型信息。如果是请求头,它用来告诉服务端如何处理请求的数据,如果是响应头,它用来告诉客户端(一般是浏览器)如何解析响应的数据。
application/x-www-form-urlencoded:
这是最常见的 POST 提交数据的方式。浏览器的原生 form 表单,如果不设置 enctype 属性,那么就会以 application/x-www-form-urlencoded 方式提交数据。
请求参数以 key1=val1&key2=val2 的方式进行拼接,并放到请求实体里面,如果是中文或特殊字符等会自动进行URL转码。一般用于表单提交。
2、multipart/form-data
3、application/json
application/json 类型用来告诉服务端消息主体是序列化后的 JSON 字符串,其中一个好处就是JSON 格式支持比键值对复杂得多的结构化数据。
前端人员不需要关心数据结构的复杂度,只要是标准的json格式就能提交成功。
由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持JSON.stringify,服务端语言也都有处理 JSON 的函数,使用起来没有困难。
注意:
Accept 为客户端希望接受的数据类型,Content-Type 为(客户端或者服务端)发送的实体数据的数据类型,两者是有区别的,如果服务端返回的类型和客户端希望接受的数据类型不一致,从而报错406。
(1)客户端发送请求时的 Content-Type 设置如果设置的不准确会导致服务端解析不了,从而报错415。
(2)服务端响应的 Content-Type 最好也设置准确,乱设置某些情况下可能会有问题,比如导致文件无法下载,客户端把 json 数据当成文本使用。
(3)如果是一个 restful 接口(json格式),一般将 Content-Type 设置为 application/json;charset=UTF-8
(4)如果是文件上传,一般 Content-Type 设置为 multipart/form-data
(5)如果普通表单提交,一般 Content-Type 设置为 application/x-www-form-urlencoded。
参考:https://blog.csdn.net/IT__learning/article/details/114337170