Axios 響應攔截器是這樣寫的:
axios.interceptors.response.use(res => { // 對響應數據做些什么 return response }, err => { // 對響應錯誤做些什么 if(err.response.status == 401){ //使用iview的消息提示,並引入國際化組建,並調用 ViewUI.Notice(i18n.t('error.permission')); //也可以使用elementui的消息提示 //ElementUI.Message(i18n.t('error.permission')); }else{ //其他情況,是業務的錯誤,直接返回業務邏輯錯誤 console.log('err', err); return Promise.reject(err);//Promise.resolve(err.sresponse);可在組件內獲取到服務器返回信息 } })
Axios 請求攔截器是這樣寫的:
// http request 攔截器 axios.interceptors.request.use( config => { const token = sessionStorage.getItem('token'); if (token ) { // 判斷是否存在token,如果存在的話,則每個http header都加上token config.headers.authorization = token; //請求頭加上token } return config; }, err => { return Promise.reject(err);//不能在組件中讀取err信息 })
分享鏈接:https://www.jianshu.com/p/349b7ab263f8