vuejs怎么请求拦截

vuejs请求拦截的方法:1、在src文件夹下创建utils文件夹;2、在文件夹下创建request.js和auth.js文件;3、下载axios;4、创建实例实现请求拦截即可。

vuejs怎么请求拦截

本文操作环境:windows7系统、Vue2.9.6版、DELL G3电脑。

vuejs怎么请求拦截?

vue数据请求拦截的具体代码

在src文件夹下创建utils文件夹

立即学习“前端免费学习笔记(深入)”;

vuejs怎么请求拦截

同时在文件夹下创建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);

登录后复制

推荐学习:《vue教程》

以上就是vuejs怎么请求拦截的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3019612.html

(0)
上一篇 2025年3月13日 05:29:26
下一篇 2025年2月27日 13:30:34

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论