--get請求:axios中常見的get/delete請求,也稱作query請求:
攜帶參數(shù)在瀏覽器控制臺的顯示
image.png
//一般發(fā)送請求是這么寫(不推薦):
axios.get('/user?id=12345&name=user')
//但是為了方便全局統(tǒng)一調用封裝的axios,采用
axios.get('/user', { //params參數(shù)必寫 , 如果沒有參數(shù)傳{}也可以
params: {
id: 12345,
name: user
}
})
vue中axios 的delete和post,put在傳值上有點區(qū)別;
post和put有三個參數(shù),url,data和config,
所以在使用這兩個時,可以寫成axios.post(api,{id:1}),axios.put(api,{id:1}),
但是delete只有兩個參數(shù):url和config,data在config中,
所以需要寫成 axios.delete(api,{data:{id:1}})
如果是服務端將參數(shù)當作對象來封裝接收則 參數(shù)格式為:{data: param}
axios.delete("/api", {data: param})
如果服務端將參數(shù)當做url 參數(shù) 接收,則格式為:{params: param},這樣發(fā)送的url將變?yōu)?a target="_blank">http:www.XXX.com?a=..&b=..
axios.delete("/api", {params: param})
--post請求常見的數(shù)據(jù)格式(content-type)
1.Content-Type: application/json : 請求體中的數(shù)據(jù)會以json字符串的形式發(fā)送到后端
image.png
2.Content-Type: application/x-www-form-urlencoded:請求體中的數(shù)據(jù)會以普通表單形式(鍵值對)發(fā)送到后端
image.png
3.Content-Type: multipart/form-data:既可以上傳鍵值對,也可以上傳文件。與application/x-www-form-urlencoded 的區(qū)別是她支持文件的傳輸,并且它的傳輸數(shù)據(jù)放在request-payload里,并且以bounday進行分隔。
image.png
1.Content-Type: application/json
如果沒有特別聲明,application/json是Axios默認的Content-Type,它聲明了請求體中的數(shù)據(jù)將會以json字符串的形式發(fā)送到后端。在請求的時候,需要將需要傳給后臺的數(shù)據(jù)JSON序列化即可。
const params = {
name:'ttt',
age:18
};
this.$axios.post("/XXXX/XXXX", params).then(data => {
//To Do
});
2.application/x-www-form-urlencoded
#引入 qs ,這個庫是 axios 里面包含的,不需要再下載了。
import axios from 'axios';
import qs from 'qs'
let data={name:'張三',age:18};
axios.post('url',qs.stringify(data))
.then(res=>{
console.log('返回數(shù)據(jù):',res)
})
3.multipart/form-data
import axios from 'axios';
let data=new FormData();
data.append('name','張三');
data.append('age',18);
axios.post('url',data)
.then(res=>{
console.log('返回數(shù)據(jù):',res)
})



