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

news2024/11/18 11:30:00

请求拦截器

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

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

全局请求拦截器

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.coloradmin.cn/o/1241975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑开机显示器没反应?5个方法轻松解决!

“各位朋友们,我想问问,电脑开机显示器没反应是为啥呢?有什么方法可以解决这个问题吗?感谢感谢!” 在使用电脑时,用户可能会遇到各种各样的情况。电脑开机显示器没反应也是一个比较常见的电脑问题。遇到这种…

Springboot+vue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的新冠病毒密接者跟踪系统,采用M(model)V(v…

JSP EL表达式获取list/Map集合与java Bean对象

上文 JSP EL表达式基本使用 中 我们对EL表达式做了一个基本的了解 也做了基础的字符串数据使用 那么 我们可以来看一下我们的集合 首先 list 这个比较简单 我们直接这样写代码 <% page import"java.util.ArrayList" %> <% page import"java.util.Lis…

两种常见EMC整改流程!|深圳比创达电子EMC

如何定位EMC整改计划可以分为两点&#xff1a; 1、根据以往的整改经验来进行判断&#xff1b; 2、比较测试&#xff0c;测试结束后根据测试仪器提供的数据进行问题分析。 下面介绍两种常见的EMC整改流程。 1、RE超标整改流程 首先要测量超标(临界)点&#xff0c;作为参考值…

注册并实名认证华为开发者账号

首先 我们访问 https://www.harmonyos.com/ 访问鸿蒙官方网站 右上角 我们点击 登录 然后 我们选择注册 然后 注册方式 有邮箱和手机号的注册 这边 看大家需要 如果像我不怎么登邮箱这种 建议还是选择手机号注册 这里 居住地区 应该就是默认中国吧 然后 手机号 验证码 密码…

入选《数据结构与算法领域内容帮榜》第44名

入选《数据结构与算法领域内容帮榜》第44名

Spring-jdbcTemplate-配置数据库连接池

1、jdbc.properties jdbc.drivercom.mysql.cj.jdbc.Driver jdbc.urljdbc:mysql:///studb jdbc.userroot jdbc.pwd123456 2、beans.xml <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans&…

安卓毕业设计基于安卓android微信小程序的家校通系统

运行环境 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序运行软件&#xff1a;微信开发者 项目介绍 基于微信小程序的家校通系统的设计基…

Nginx 413 Request Entity Too Large

当出现上图时候 更改nginx config 文件 在http{}或者server{}或者location{}中增加client_max_body_size 100m; 然后重启nginx 服务就好了

【深度学习】六大聚类算法快速了解

在机器学习中&#xff0c;无监督学习一直是我们追求的方向&#xff0c;而其中的聚类算法更是发现隐藏数据结构与知识的有效手段。目前如谷歌新闻等很多应用都将聚类算法作为主要的实现手段&#xff0c;它们能利用大量的未标注数据构建强大的主题聚类。本文从最基础的 K 均值聚类…

JAVA小游戏“飞翔的小鸟”

第一步是创建项目 项目名自拟 第二步创建个包名 来规范class 再创建一个包 来存储照片 如下&#xff1a; 代码如下&#xff1a; package game; import java.awt.*; import javax.swing.*; import javax.imageio.ImageIO;public class Bird {Image image;int x,y;int width…

STM32 CAN通信自定义数据包多帧连发乱序问题

场景&#xff1a; can标准帧中每一帧只能传输8字节&#xff0c;而应用中传输一包的内容往往超过8字节&#xff0c;因此需要把一个包拆成多个帧发送&#xff0c;接收端才把收到的多帧重新组装成一个完整的包 问题描述 在一问一答的两块板间通信&#xff0c;多帧连发是能够按照…

优思学院|2024年质量管理的大趋势

2023年我们已经顺利度过了整年的大部分时间&#xff0c;2024年质量管理的趋势和问题在全球范围内都已经引起了关注&#xff0c;或者仍然是企业导航的首要任务。 1. 通货膨胀与质量管理 2023年&#xff0c;全球范围内通货膨胀和严峻的经济状况成为企业最关心的问题之一。尽管物…

electron27-react-mateos:基于electron+react18仿matePad桌面系统

基于Electron27React18ArcoDesign搭建桌面版OS管理系统。 electron-react-mateos 基于最新前端跨端技术栈electron27.xreact18arco-designzustand4sortablejs构建的一款仿制matePad界面多层级路由管理OS系统。 ElectronReactOS支持桌面多路由配置&#xff0c;新开窗口弹窗开启路…

单片机调试技巧--修改bin文件实现断点

fromelf --text -a -c --outputall.dis F103_Moduel\F103_Moduel.axffromelf --bin --outputtest.bin F103_Moduel\F103_Moduel.axf 在启动文件中&#xff0c;修改UsageFault_Handler UsageFault_Handler\PROC; get current contextTST lr, #0x04 ; if(!EXC_RETURN[2])ITE…

学习量化交易如何入门?

Python 量化入门很简单&#xff0c;只需 3 步就能快速上手! 题主在程序方向没有相关经验&#xff0c;今天就从量化行业的通用语言-Python 着手&#xff0c;教大家如何快速入门。 一、准备工作 在开始 Python 编程之前&#xff0c;首先需要确保你的计算机上安装了合适的 Pytho…

【每日一题】1410. HTML实体解析器-2023.11.23

题目&#xff1a; 1410. HTML 实体解析器 「HTML 实体解析器」 是一种特殊的解析器&#xff0c;它将 HTML 代码作为输入&#xff0c;并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们对应的字符实体包括&#xff1a; 双引号&#xff1a;字符实体为 &…

【Docker】从零开始:8.Docker命令:Commit提交命令

【Docker】从零开始&#xff1a;8.Docker命令:Commit命令 基本概念镜像镜像分层什么是镜像分层为什么 Docker 镜像要采用这种分层结构 本章要点commit 命令命令格式docker commit 操作参数实例演示1.下载一个新的ubuntu镜像2.运行容器3.查看并安装vim4.退出容器5提交自己的镜像…

23. 深度学习 - 多维向量自动求导

Hi, 你好。我是茶桁。 前面几节课中&#xff0c;我们从最初的理解神经网络&#xff0c;到讲解函数&#xff0c;多层神经网络&#xff0c;拓朴排序以及自动求导。 可以说&#xff0c;最难的部分已经过去了&#xff0c;这节课到了我们来收尾的阶段&#xff0c;没错&#xff0c;生…

搜维尔科技:Faceware面部捕捉最佳实践!

视频源和分辨率&#xff1a; 我们的软件针对 RGB 彩色素材进行了优化&#xff0c;不支持使用红外摄像机。 我们建议视频分辨率为 720p 和 1080p。低于 720p 的分辨率可能会对跟踪质量产生负面影响&#xff0c;而高于 1080p 的分辨率会导致存储要求和传输时间增加&#xff0c;而…