Vue實現數據請求攔截
更新時間:2019年10月23日 09:28:36 作者:TiAmo_907
這篇文章主要為大家詳細介紹了Vue實現數據請求攔截,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了vue數據請求攔截的具體代碼,供大家參考,具體內容如下
在src文件夾下創(chuàng)建utils文件夾

同時在文件夾下創(chuàng)建request.js和auth.js文件
request.js為請求攔截、請求數據封裝主入口
auth.js為設置token和刪除token及判斷用戶是否登錄封裝主入口
auth.js (封裝token)
export function isLogin() {
if (localStorage.getItem('token')) {
return true;
} else {
return false;
}
}
export function getToken() {
return localStorage.getItem('token');
}
export function setToken(token) {
localStorage.setItem('token', token);
}
export function removeToken() {
localStorage.removeItem('token');
}
下載axios(命令: npm install axios --save-dev)、同時引入axios、getToken
import axios from 'axios';
import { getToken } from './auth';
創(chuàng)建實例:傳兩個參數(timeout(超時時間)、baseUrl(服務器路徑))
const instance = axios.create({
timeout: 5000,
baseURL: 'https://xxxxxxxxx/xxxx/',
});
請求攔截
// 請求攔截
instance.interceptors.request.use(
function(config) {
// eslint-disable-next-line prettier/prettier
config.headers.authorization = 'Bearer ' + getToken();
return config;
},
function(error) {
// Do something with request error
return Promise.reject(error);
}
);
instance.interceptors.response.use(
response => {
return response;
},
error => {
if (error.response.status == 401) {
window.location.href = '/#/login';
}
if (error.response.status == 404) {
window.location.href = '/404.html';
}
return Promise.reject(error.response.data);
}
);
請求封裝
/**
* 獲取數據 get請求
* @param {*} url
* @param {*} config
*/
export const get = (url, config) => instance.get(url, config);
/**
* post請求
* @param {*} url
* @param {*} data
* @param {*} config
*/
export const post = (url, data) => instance.post(url, data);
/**
* put
* @param {*} url
* @param {*} data
* @param {*} config
*/
export const put = (url, data, config) => instance.put(url, data, config);
/**
* delete
* @param {*} url
* @param {*} config
*/
export const remove = (url, config) => instance.delete(url, config);
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
關于element同時使用Drawer和Dialog出現多個遮罩問題
這篇文章主要介紹了關于element同時使用Drawer和Dialog出現多個遮罩問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07

