vue-cli axios封裝(element-ui)

來源:互聯網
上載者:User

標籤:config   inter   逾時   cas   sage   loading   服務   type   strong   

1.http.js

/**
*
* http配置
*/

import axios from ‘axios‘
import { Loading, Message } from ‘element-ui‘

// axios 配置
axios.defaults.timeout = 5000;

// http request 攔截器
axios.interceptors.request.use(
config => {
// if (store.state.token) {
// config.headers.Authorization = `token ${store.state.token}`;
// }
return config;
},
err => {
return Promise.reject(err);
});

// http response 攔截器
axios.interceptors.response.use(
response=> {
 
return response;
},
err => {
if (err && err.response) {
switch (err.response.status) {
case 400:
Message.error(‘請求錯誤‘)
break

case 401:
Message.error(‘未授權,請登入‘)
break

case 403:
Message.error(‘拒絕訪問‘)
break

case 404:
Message.error(`請求地址出錯: ${err.response.config.url}`)
break

case 408:
Message.error(‘請求逾時‘)
break

case 500:
Message.error(‘伺服器內部錯誤‘)
break

case 501:
Message.error(‘服務未實現‘)
break

case 502:
Message.error(‘網關錯誤‘)
break

case 503:
Message.error(‘服務不可用‘)
break

case 504:
Message.error(‘網關逾時‘)
break

case 505:
Message.error(‘HTTP版本不受支援‘)
break

default:
}
}

return Promise.reject(err)
});

export default axios;

2.main.js

import axios from ‘./assets/js/http.js‘

Vue.prototype.$http = axios

vue-cli axios封裝(element-ui)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.