当前位置: 首页 > news >正文

Axios 拦截器 请求拦截器 响应拦截器

请求拦截器

相当于一个关卡,如果满足条件就放行请求,不满足就拦截

响应拦截器 在处理结果之前,先对结果进行预处理,比如:对数据进行一下格式化的处理

全局请求拦截器

axios.interceptors.request.use(config => {
//请求之前需要做的一些事情//config.url = 'www.xcccc.com'//请求请修改请求的url//config.timeout = 2000//请求前修改超时时间//config.method = 'POST'//修改请求方式return config //请求成功必须返回
}, error => {return Promise.reject(error) //请求失败时的函数}

config 参数
在这里插入图片描述


全局响应拦截器

axios.interceptors.response.use(response => {console.log(response)//return response.data//直接将 res.data数据返回return response
}, error => {console.log('响应数据失败')return Promise.reject(error)//请求失败时的函数
}
)

也可以在请求回来时对数据进行处理,下面是response的对象
在这里插入图片描述


拦截器执行顺序

请求拦截器成功=》响应拦截器成功


请求拦截器失败=》响应拦截器失败 =》请求失败的自定义回调(非必须)


请求拦截器成功=》(服务器404) =》 响应拦截器失败 =》请求失败的自定义回调
在这里插入图片描述


完整代码

main.js

import '@/api'

api.js

import axios from "axios";
import Vue from "vue";//请求拦截器 表示请求要发出时需要的操作
axios.interceptors.request.use(config => {// config.url = 'www.xcccc.com'// //请求请修改请求的url// config.timeout = 2000// //请求前修改超时时间// config.method = 'POST'// //修改请求方式console.log('请求时发送成功')return config //请求成功必须返回
}, error => {console.log('请求时发送失败')return Promise.reject(error)//请求失败时的函数
})axios.interceptors.response.use(response => {return response//直接将 res.data数据返回
}, error => {console.log('响应数据失败')return Promise.reject(error)
}
)Vue.prototype.$axios = axios
 this.$axios.get('https://apis.jxcxin.cn/api/mi?user=177********&password=******&step=8000',).then(res => {console.log(res)}).catch(error => {console.log('请求失败自定义的回调')})
http://www.lryc.cn/news/240955.html

相关文章:

  • Mysql Shell笔记
  • Hive日志默认存储在什么位置?
  • Kafka 常用功能总结(不断更新中....)
  • 单链表相关面试题--5.合并有序链表
  • SV-7042VP sip广播4G无线网络号角
  • 基于OpenCV+MediaPipe的手势识别
  • YOLO目标检测——无人机航拍行人检测数据集下载分享【含对应voc、coc和yolo三种格式标签】
  • 数据提取PDF SDK的对比推荐
  • 【数据结构(C语言)】浅谈栈和队列
  • 【NGINX--5】身份验证
  • 【网络奇缘】- 计算机网络|分层结构|ISO模型
  • 使用whisper实现语音转文本
  • Django中间件与csrf
  • 【搜维尔科技】产品推荐:Virtuose 6D RV,大型工作空间触觉设备
  • <JavaEE> 什么是线程(Thread)?进程和线程有什么区别?
  • 【赠书第7期】从零基础到精通Flutter开发
  • 《golang设计模式》第三部分·行为型模式-07-观察者模式(Observer)/发布者—订阅者模式
  • Maven中常用命令以及idea中使用maven指南
  • 深度学习之八(生成对抗网络--Generative Adversarial Networks,GANs)
  • 内部网关协议_路由信息协议RIP_开放路径优先OSPF协议_基本知识
  • Linux python安装 虚拟环境 virtualenv
  • 洛谷 P1883 函数
  • 【C++心愿便利店】No.14---C++之探索list底层原理
  • 【广州华锐互动】VR防溺水安全内容体验提高群众防溺水意识
  • 【Skynet 入门实战练习】游戏模块划分 | 基础功能模块 | timer 定时器模块 | logger 日志服务模块
  • python内置模块binascii,二进制数据和ASCII字符串之间进行转换
  • 如何开启MySQL的慢查询日志
  • Spine的BoundingBoxAttachment碰撞检测
  • Proteus下仿真AT89C51报“串行口通信失败,请检查电平适配是否正确。”解决办法
  • 微信小程序制作