vue-axios 攔截
阿新 • • 發佈:2020-12-29
在src建立一個資料夾utils再建立request.js檔案
import axios from 'axios' //匯入axios const instance = axios.create({ baseURL: "https:api.cat-shop.penkuoer.com", //baseURL會在傳送請求的時候拼接在url引數前面,在不同的生產環境中修改這個就行了 timeout: 5000 }) //請求攔截 //所有的網路請求都會先走這個方法,我們可以在它裡面為請求新增一些自定義的類容 instance.interceptors.request.use( function(config) { console.group("全域性請求攔截"); console.log(config); console.groupEnd(); config.headers.token = '123456'; //在headers中新增token=123456 return config }, function(err) { return Promise.reject(err); } ); //響應攔截 //所有的網路請求返回資料後都會先執行此方法 // 此處可以根據伺服器的返回狀態碼做相應的資料,比如說404,401,50x instance.interceptors.response.use( function(response) { console.group("全域性響應攔截"); console.log(response); console.groupEnd(); return response; }, function(err){ return Promise.reject(err); } ); export function get(url, params) { //封裝get傳入URL和params return instance.get(url, { params }); } export function post(url, data) { //封裝post傳入URL和data returninstance.post(url, data); } export function del(url) { //封裝del傳入URL return instance.delete(url); } export function put(url, data) { //封裝put傳入URL和params return instance.put(url, data); }