1、在封裝請(qǐng)求之前確保你的項(xiàng)目中已經(jīng)安裝了elementUI和axios(npm進(jìn)行安裝)
2植旧、可以在你的項(xiàng)目文件中新建一個(gè)工具類文件夾乏矾,用來存放常用的工具類驯嘱,我使用的是一個(gè)utils文件用來存放:
3、這里的ajax.js就是我的請(qǐng)求封裝存放的位置蛛壳,接著上代碼嘱巾,首先需要引入你的依賴:
???????????
4顷歌、用axios創(chuàng)建一個(gè)service服務(wù)气忠,這里的baseurl可以直接像我這樣取全局的api,也可以自己配置開發(fā)或者生產(chǎn)環(huán)境下的路徑:
5赋咽、進(jìn)行請(qǐng)求處理旧噪,相當(dāng)于做一個(gè)請(qǐng)求攔截器
這里的loading處理是引用了element里的加載動(dòng)畫,根據(jù)項(xiàng)目需求自行處理脓匿,這這一部分里面你可以自己進(jìn)行請(qǐng)求頭信息的設(shè)置淘钟,例如攜帶token等操作。
6陪毡、創(chuàng)建響應(yīng)攔截米母,對(duì)返回?cái)?shù)據(jù)進(jìn)行處理:
這里可以對(duì)返回?cái)?shù)據(jù)進(jìn)行處理,具體code需要根據(jù)項(xiàng)目需求或者與后端約定毡琉,進(jìn)行相應(yīng)的處理铁瞒,這里以code=2001和2002為例。
當(dāng)然你也需要對(duì)error進(jìn)行處理桅滋,對(duì)響應(yīng)進(jìn)行區(qū)分慧耍,方便接口調(diào)試。最后將封裝的service進(jìn)行模塊導(dǎo)出即可丐谋。
7芍碧、如何使用封裝的axios請(qǐng)求?
在項(xiàng)目里一般都是有單獨(dú)的文件夾對(duì)接口進(jìn)行封裝号俐,這里我使用的是api.js文件泌豆,
在文件中首先根據(jù)路勁引入剛剛封裝好的ajax.js文件:
import?ajax?from?'@/utils/ajax'
然后就可以進(jìn)行接口的封裝了,eg:
? ??????????????export?function?ygList(s)?{
??????????????????????return?ajax({
????????????????????????method:?'post',
????????????????????????url:?'/event/eventList',
????????????????????????data:s
??????????????????????})
????????????????}
在頁(yè)面中引入接口名即可使用吏饿,這里我使用的是
? ??????????ygList().then(res=>{處理res即可})