Vue实现数据请求拦截
作者:TiAmo_907 时间:2024-05-05 09:24:11
本文实例为大家分享了vue数据请求拦截的具体代码,供大家参考,具体内容如下
在src文件夹下创建utils文件夹
同时在文件夹下创建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';
创建实例:传两个参数(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);
来源:https://blog.csdn.net/TiAmo_907/article/details/102635463
标签:vue,数据请求,拦截
0
投稿
猜你喜欢
pandas多级分组实现排序的方法
2022-05-06 14:16:11
在网页设计中,如何使用图标来支持内容?[译]
2009-03-16 16:35:00
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021-06-09 02:33:06
python中正则表达式 re.findall 用法
2023-10-03 21:59:18
解决win10 vscode 无法激活python 虚拟环境的问题
2023-10-09 04:23:25
IE下float产生双倍margin
2007-12-26 12:29:00
MySQL 自动备份与数据库被破坏后的恢复方法
2010-03-25 10:29:00
Python读取实时数据流示例
2023-09-11 14:20:00
Python自定义一个类实现字典dict功能的方法
2023-07-20 22:45:59
Golang排列组合算法问题之全排列实现方法
2023-07-14 14:16:19
python解析库Beautiful Soup安装的详细步骤
2023-06-23 04:29:21
asp如何将统计的访问者数目周期性地保存?
2009-11-26 20:54:00
python实现telnet客户端的方法
2021-04-14 21:07:24
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2022-07-31 05:54:21
asp如何在聊天室实现趣味答题并计分功能?
2010-06-18 20:00:00
vue.js删除动态绑定的radio的指定项
2024-05-09 09:51:48
SQL Server 2005 模板参数使用说明
2024-01-19 02:00:46
sqlserver 存储过程中的top+变量使用分析(downmoon)
2024-01-13 13:03:41
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2024-05-22 10:28:01
详解Go语言中关于包导入必学的 8 个知识点
2023-07-09 05:38:11