關於axios的攔截器是一個作用非常大,非常好用的東西。分為請求攔截器和響應攔截器兩種。我一般把攔截器寫在main.js里。
1. 請求攔截器
請求攔截器的作用是在請求發送前進行一些操作,例如在每個請求體里加上token,統一做了處理如果以后要改也非常容易。
axios.interceptors.request.use(function (config) { // 在發送請求之前做些什么,例如加入token ....... return config; }, function (error) { // 對請求錯誤做些什么 return Promise.reject(error); });
2. 響應攔截器
響應攔截器的作用是在接收到響應后進行一些操作,例如在服務器返回登錄狀態失效,需要重新登錄的時候,跳轉到登錄頁。
axios.interceptors.response.use(function (response) { // 在接收響應做些什么,例如跳轉到登錄頁 ...... return response; }, function (error) { // 對響應錯誤做點什么 return Promise.reject(error); });
3. 移除攔截器
var myInterceptor = axios.interceptors.request.use(function () {/*...*/}); axios.interceptors.request.eject(myInterceptor);
4. 為axios實例添加攔截器
var instance = axios.create(); instance.interceptors.request.use(function () {/*...*/});
