1. 程式人生 > 其它 >Vue2使用axios,request.js和vue.config.js

Vue2使用axios,request.js和vue.config.js

1.配置request.js,用來請求資料

import axios from 'axios'

// 1:利用axios物件的方法create,建立一個axios例項
// 2:request就是axios,但可以稍加配置
const request = axios.create({
    baseURL: '/api',  // 注意!! 這裡是全域性統一加上了 '/api' 字首,也就是說所有介面都會加上'/api'字首在,頁面裡面寫介面的時候就不要加 '/api'了,否則會出現2個'/api',類似 '/api/api/user'這樣的報錯,切記!!!
    timeout: 5000
})

// request 攔截器,請求攔截器,在發請求之前,請求攔截器可以檢測到
// 可以自請求傳送前對請求做一些處理 // 比如統一加token,對請求引數統一加密 request.interceptors.request.use(config => { config.headers['Content-Type'] = 'application/json;charset=utf-8'; // config.headers['token'] = user.token; // 設定請求頭 return config }, error => { return Promise.reject(error) }); // response 攔截器, 響應攔截器
// 可以在介面響應後統一處理結果 request.interceptors.response.use( response => { let res = response.data; // 如果是返回的檔案 if (response.config.responseType === 'blob') { return res } // 相容服務端返回的字串資料 if (typeof res === 'string') { res = res ? JSON.parse(res) : res }
return res; }, error => { console.log('err' + error) // for debug return Promise.reject(error) } ) // 對外暴露 export default request

2.再main.js中註冊

// 引入axios配置
import request from './api/request';
Vue.prototype.request = request
View Code