使用get發(fā)請求參數(shù)放在query中,
1.直接拼接在url上
export function getOtherListById(id) {
return request({
url: pro + '/biz/process/control/' + id,
method: 'get'
})
}
2.放在params中狐援,不顯示在url衬吆,也是字符串形式
params屬性是將參數(shù)添加到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請求有請求體武契,傳遞的參數(shù)既可以放在請求體中也可以放在url后面。
使用post發(fā)請求參數(shù)可以放在params或者body中
1.data中
data是添加到請求體(body)中荡含,該方式傳遞的參數(shù)有兩種格式:
1.1 application/json格式:該格式data用json字符串進(jìn)行傳遞參數(shù)咒唆,數(shù)據(jù)格式是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用查詢字符串進(jìn)行傳遞參數(shù)释液,即"name1 = value1&name2 = value2"的形式全释。
該格式data有兩種傳遞方式
第一種:直接傳遞字符串
data:"name=lhj&age=123", //字符串形式
第二種:使用qs.stringify()將json轉(zhuǎn)換成查詢字符串
data:qs.stringify({name:'lhj',age:24}),
2、params屬性傳遞
post請求用該屬性傳遞參數(shù)跟get請求一樣误债,將參數(shù)拼接在url之后浸船。
this.axios({
method:'post',
params:{
name:"lhj"
},
url:'http://localhost:1111/01/ajax'
}).then(function(resp){
console.log(resp.data);
})
常見的content-type類型
表示請求和響應(yīng)中的媒體類型信息妄迁。如果是請求頭,它用來告訴服務(wù)端如何處理請求的數(shù)據(jù)李命,如果是響應(yīng)頭登淘,它用來告訴客戶端(一般是瀏覽器)如何解析響應(yīng)的數(shù)據(jù)。
application/x-www-form-urlencoded:
這是最常見的 POST 提交數(shù)據(jù)的方式封字。瀏覽器的原生 form 表單黔州,如果不設(shè)置 enctype 屬性,那么就會以 application/x-www-form-urlencoded 方式提交數(shù)據(jù)阔籽。
請求參數(shù)以 key1=val1&key2=val2 的方式進(jìn)行拼接流妻,并放到請求實體里面,如果是中文或特殊字符等會自動進(jìn)行URL轉(zhuǎn)碼笆制。一般用于表單提交绅这。
2、multipart/form-data
3林螃、application/json
application/json 類型用來告訴服務(wù)端消息主體是序列化后的 JSON 字符串奕删,其中一個好處就是JSON 格式支持比鍵值對復(fù)雜得多的結(jié)構(gòu)化數(shù)據(jù)。
前端人員不需要關(guān)心數(shù)據(jù)結(jié)構(gòu)的復(fù)雜度疗认,只要是標(biāo)準(zhǔn)的json格式就能提交成功完残。
由于 JSON 規(guī)范的流行,除了低版本 IE 之外的各大瀏覽器都原生支持JSON.stringify横漏,服務(wù)端語言也都有處理 JSON 的函數(shù)谨设,使用起來沒有困難。
注意:
Accept 為客戶端希望接受的數(shù)據(jù)類型缎浇,Content-Type 為(客戶端或者服務(wù)端)發(fā)送的實體數(shù)據(jù)的數(shù)據(jù)類型扎拣,兩者是有區(qū)別的,如果服務(wù)端返回的類型和客戶端希望接受的數(shù)據(jù)類型不一致素跺,從而報錯406二蓝。
(1)客戶端發(fā)送請求時的 Content-Type 設(shè)置如果設(shè)置的不準(zhǔn)確會導(dǎo)致服務(wù)端解析不了,從而報錯415指厌。
(2)服務(wù)端響應(yīng)的 Content-Type 最好也設(shè)置準(zhǔn)確刊愚,亂設(shè)置某些情況下可能會有問題,比如導(dǎo)致文件無法下載踩验,客戶端把 json 數(shù)據(jù)當(dāng)成文本使用鸥诽。
(3)如果是一個 restful 接口(json格式)商玫,一般將 Content-Type 設(shè)置為 application/json;charset=UTF-8
(4)如果是文件上傳牡借,一般 Content-Type 設(shè)置為 multipart/form-data
(5)如果普通表單提交决帖,一般 Content-Type 設(shè)置為 application/x-www-form-urlencoded。
參考:https://blog.csdn.net/IT__learning/article/details/114337170