1. 程式人生 > 實用技巧 >vue-axios 攔截

vue-axios 攔截

在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 return
instance.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); }