vue2 项目中axios二次封装以及拦截器 (全篇超级详细哦 ) 新手小白也适合哦
创始人
2024-12-10 09:32:58
0

目录

一、基础配置 首先全局安装axios

 二、附图创建一个名为request.js的文件,放在utils下(request名称可以根据自己喜好修改哦)

  三、直接上封装代码,详细注释介绍已经写在代码里了,可以直接复制,然后根据自己需求去进行修改

四、需要注意的是 拦截器的状态,根据后台返回的数据需要去处理一下

五、上面axios已经封装完闭了 ,需要创建一个api的文档(文档清晰一点找起来也不是很费劲)

六、在api/user.js   简单封装get,post请求

 


一、基础配置 首先全局安装axios

npm install axios

 二、附图创建一个名为request.js的文件,放在utils下(request名称可以根据自己喜好修改哦)

  三、直接上封装代码,详细注释介绍已经写在代码里了,可以直接复制,然后根据自己需求去进行修改

 import axios from 'axios';  // 基本配置 const instance = axios.create({   baseURL: 'http://localhost:3000/', // 根据实际情况修改API地址   timeout: 5000 // 设置超时时间,单位为ms });  // 请求拦截器 instance.interceptors.request.use(config => {   config.headers['Authorization'] = localStorage.getItem('token'); // 设置请求头部分,这里举例使用了localStorage存储的token作为身份标识   return config; }, error => {   console.log(error);   return Promise.reject(error); });  // 响应拦截器 instance.interceptors.response.use(response => {   const data = response.data;   if (data && data.code !== 200) { // 根据接口返回的状态码判断是否有错误       alert(`Error code ${data.code}: ${data.message}`); // 自定义错误提示       return Promise.reject(new Error(data.message));   } else {       return data;   } }, error => {   console.log(error);   return Promise.reject(error); });  export default instance;  

四、需要注意的是 拦截器的状态,根据后台返回的数据需要去处理一下

//响应拦截处理  响应拦截器:包含两个函数(一个是成功返回的函数,一个是失败的返回的函数) instance.interceptors.response.use(res => {     // 我们一般在这里处理,请求成功后的错误状态码 例如状态码是500,404,403     // res 是所有相应的信息     console.log(res)     return res.data }, err => {   let { res } = err   if (res) {     switch (res.status) {       case 401:         (根据状态去进行提示,以下状态都是O)         break       case 403:         break       case 404:         break       case 500:         break     }   } else {     if (!window.navigator.onLine) {       //断网处理:跳转到断网页面       return     }   }   // 服务器响应发生错误   return Promise.reject(err) })  

五、上面axios已经封装完闭了 ,需要创建一个api的文档(文档清晰一点找起来也不是很费劲)

六、在api/user.js   简单封装get,post请求

//接口 //引入axios  import request from '../utils/request'// 这里是引入咱们的axios用axios来进行异步接口请求  //比如说接口为注册接口 export function register(){     return request({         url:'/user/register',         method:'post',         data,  // 一般post请求,我们习惯使用 data属性来传参      }) }  export function login(){     return request({         url:'/user/login',         method:'get',         params,   //一般get请求,我们习惯使用params属性来传参      }) }   //以上为案例

      但是我们的   url:'/user/register',  是这样的地址,实际上我们是把接口在封装axios的时候已经把接口的前缀写上了,所以我们这边引入地址的时候直接请求  /  后面的接口参数

      拼接起来是 http://localhost:3000/user/register    

感觉有用的小伙伴记得点赞,让作者更有信心去给大家分享开发中遇到的问题哦!

相关内容

热门资讯

7分钟透视“pokemomo辅... 7分钟透视“pokemomo辅助工具”哈糖大菠萝能开挂(必备开挂透视辅助技巧)1、哈糖大菠萝能开挂a...
第一次性普及“浙江游戏温州熟客... 第一次性普及“浙江游戏温州熟客辅助”发现作弊开挂辅助神器(总是真的有挂);亲,有的,ai轻松简单,又...
五分钟了解!胡乐安庆辅助工具,... 您好:胡乐安庆辅助工具这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
玩家亲测!广西老友玩有破解视频... 玩家亲测!广西老友玩有破解视频(透视)解说技巧(透明挂作弊开挂辅助软件)是一款可以让一直输的玩家,快...
第一分钟透视“hhpoker辅... 第一分钟透视“hhpoker辅助挂是真的”wepoker网页版透视方法(曝光开挂透视辅助攻略)进入游...
第五次性普及“凑一桌关春天游戏... 第五次性普及“凑一桌关春天游戏辅助苹果版”专业作弊开挂辅助app(从前有挂);第五次性普及“凑一桌关...
十分钟了解!随意玩app下载开... 十分钟了解!随意玩app下载开挂辅助,佛手在线大菠萝辅助,科技教程(从来真的有挂);亲,有的,ai轻...
必看攻略!约局吧德州真的存在透... 必看攻略!约局吧德州真的存在透视(透视)必备教程(大神作弊开挂辅助工具)是一款可以让一直输的玩家,快...
五分钟透视“wepoker有透... 五分钟透视“wepoker有透视”hhpoker可以开透视(解谜开挂透视辅助app)1、打开软件启动...
5次性普及“欢乐卡五星辅助工具... 5次性普及“欢乐卡五星辅助工具”介绍作弊开挂辅助app(原来真的有挂);1、许多玩家不知道欢乐卡五星...