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

【前端知识】Axios——请求拦截器模板

Axios——请求拦截器模板

Axios是一个基于Promise的HTTP客户端,用于发送HTTP请求。它可以在浏览器和Node.js环境中使用,并且提供了许多强大的功能,例如拦截请求和响应、转换请求和响应数据、取消请求等。

Axios具有简单易用的API,可以轻松地发送GET、POST、PUT、DELETE等各种类型的请求。它还支持异步操作和并发请求。

使用Axios发送HTTP请求非常方便,你只需要提供请求的URL和可选的配置参数,然后Axios会返回一个Promise对象,你可以通过该对象处理请求的结果。

Axios还支持自定义拦截器,你可以在发送请求之前或者响应返回之后做一些处理,例如设置请求头、验证响应数据、错误处理等。

总的来说,Axios是一个强大而且简单易用的HTTP客户端库,广泛应用于前端开发和Node.js开发中。

  • 构建状态码常量

    /** @Author: outmanchen* @Date: 2023-09-06 15:40:56* @LastEditors: outmanchen* @LastEditTime: 2023-09-06 16:04:37* @FilePath: \axios\status.js* @Description: 状态码常量*/export default {SUCCESS: 200,NOAUTH: 401// ...
    }
    
  • 封装拦截器

/** @Author: outmanchen* @Date: 2023-09-06 15:37:17* @LastEditors: outmanchen* @LastEditTime: 2023-09-06 16:05:13* @FilePath: \axios\index.js* @Description: 网络请求封装*/
import http from 'axios'; // 引入axios网络请求库
import API from './status'; // 引入状态码常量/*** 请求拦截器*/
http.interceptors.request.use(function (config) {if(!config.params){config.params = {};}// 请求发送前的拦截处理(例如:在headers中添加token、在params中添加时间戳...)// ...// ...return config;
}, function (error) {// 请求发送失败时的处理// ...// ...return Promise.reject(error);
});/*** 响应拦截器*/
http.interceptors.response.use(function (response) {// 请求响应时的拦截处理(例如:登录鉴权等...)// ...// ...// 登录鉴权-401if(response && response.data && response.data.status && response.data.status == API.NOAUTH){// 鉴权逻辑处理// ...// ...}return response;
}, function (error) {// 请求响应失败时的处理return Promise.reject(error);
});export default http;

相关文章:

【前端知识】Axios——请求拦截器模板

Axios——请求拦截器模板 Axios是一个基于Promise的HTTP客户端,用于发送HTTP请求。它可以在浏览器和Node.js环境中使用,并且提供了许多强大的功能,例如拦截请求和响应、转换请求和响应数据、取消请求等。 Axios具有简单易用的API,…...

企业架构LNMP学习笔记16

基于IP的访问控制: 基于ngx_http_access_module模块,默认可使用。 语法是: deny ip 禁止IP访问 allow ip 允许IP访问 上面是允许的,下面是deny的。 老师建议写在server段中是比较合适的。 基于用户的访问控制: …...

redis实现消息队列

背景 消息队列(Message Queue)是一种常见的软件架构模式,用于在分布式系统中传递和处理异步消息。它解耦了发送消息的应用程序和接收消息的应用程序之间的直接依赖关系,使得消息的发送者和接收者可以独立地演化和扩展。 消息队列…...

JVM指令集

概述 JVM,Java Virtual Machine,Java虚拟机器,作为一台独立的机器,一般包括独立的指令集、独立的存储体系以及适合机器自身的运算方式,本章节主要是描述JVM指令的功能与作用。 JVM的每个指令的格式是【指令 操作数1操…...

如何用SSH克隆GitHub项目

诸神缄默不语-个人CSDN博文目录 使用场景:由于不可知的网络问题,无法用HTTPS克隆GitHub项目。 报错fatal: unable to access https://github.com/PolarisRisingWar/llm-throught-ages.git/: GnuTLS recv error (-110): The TLS connection was non-pro…...

sqlx库使用指南

sqlx库使用指南 在项目中我们通常可能会使用database/sql连接MySQL数据库。本文借助使用sqlx实现批量插入数据的例子,介绍了sqlx中可能被你忽视了的sqlx.In和DB.NamedExec方法。 sqlx介绍 在项目中我们通常可能会使用database/sql连接MySQL数据库。sqlx可以认为是Go…...

算法篇汇总

文章浏览 I https://leetcode.cn/problems/article-views-i/description/?envTypestudy-plan-v2&envId30-days-of-pandas&langpythondata 我的题解: import pandas as pddef article_views(views: pd.DataFrame) -> pd.DataFrame:dfviews[views[auth…...

typeScript 学习笔记(二)

类接口 TypeScript 入门教程 (xcatliu.com) 十四.类 ① 类 类:定义了一件事物的抽象特点,包含它的属性和方法对象:类的实例,通过new生成面向对象(OOP)的三大特性:封装、继承、多态封装&…...

redis集群架构详解

一、集群架构搭建 1、配置 在一台机器上模拟多台机器搭建redis集群,一个集群代表一台物理机 集群1路径: /usr/local/redis/redis-cluster/cluster1/9001/redis.conf/usr/local/redis/redis-cluster/cluster1/9004/redis.conf/usr/local/redis/redis-…...

nodejs设置镜像

1、npm镜像地址配置 -- 查看 npm 安装目录 npm root -g-- 查看 npm 配置信息 npm config list-- 查询当前镜像配置 npm get registry-- 或者仅修改 npm 命令镜像 -- 设置为淘宝镜像 npm config set registry https://registry.npmmirror.com -- 修改为官方镜像 npm config set…...

CSS中如何在table中隐藏表格中从第4个开始的多个 <tr> 元素

隐藏指定行 使用 CSS 的 nth-child 选择器来选择表格中的特定行,并隐藏它们。 以下是一个示例 CSS 规则,用于隐藏表格中的第 4 个和第 5 个行(索引从 1 开始): table tr:nth-child(4), table tr:nth-child(5) {displ…...

【类和对象】③友元类

文章目录 1.初始化列表2.static静态成员3.友元 1.初始化列表 我们知道在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。虽然调用构造函数之后,对象中已经有了一个初始值,但是不能将其称为对对象中成…...

算法通关村第十六关:黄金挑战:滑动窗口与堆结合

黄金挑战:滑动窗口与堆结合 堆的大小一般是有限的,能直接返回当前位置下的最大值或者最小值 该特征与滑动窗口结合,可以解决一些特定场景的问题 1. 滑动窗口与堆问题的结合 LeetCode239 https://leetcode.cn/problems/sliding-window-maxi…...

6.2.2 【MySQL】InnoDB中的索引方案

上边之所以称为一个简易的索引方案,是因为我们为了在根据主键值进行查找时使用二分法快速定位具体的目录项而假设所有目录项都可以在物理存储器上连续存储,但是这样做有几个问题: InnoDB 是使用页来作为管理存储空间的基本单位,也…...

划片机实现装片、对准、切割、清洗到卸片的自动化操作

划片机是一种用于切割和分离材料的设备,通常用于光学和医疗、IC、QFN、DFN、半导体集成电路、GPP/LED氮化镓等芯片分立器件、LED封装、光通讯器件、声表器件、MEMS等行业。划片机可以实现从装片、对准、切割、清洗到卸片的自动化操作。 以下是划片机实现这些操作的步…...

OpenCV(二十五):边缘检测(一)

目录 1.边缘检测原理 2.Sobel算子边缘检测 3.Scharr算子边缘检测 4.两种算子的生成getDerivKernels() 1.边缘检测原理 其原理是基于图像中灰度值的变化来捕捉图像中的边界和轮廓。梯度则表示了图像中像素强度变化的强弱和方向。 所以沿梯度方向找到有最大梯度值的像素&…...

上行取消指示 DCI format 2_4

上篇介绍了DCI format 2_1的DL传输中断的内容,这篇就看下DCI format 2_4有关的UL 传输取消机制,值得注意的是这里的UL传输针对的是PUSCH和SRS传输。 UL cancellation DCI format 2_4相关机制引入的背景与DCI format 2_1一样,都是因为URLLC和e…...

百望云蝉联2023「Cloud 100 China 」榜单 综合实力再获认可

9月7日,2023 Cloud 100 China 榜单于上海中心正式发布,榜单由靖亚资本与崔牛会联合推出,百望云凭借着过硬的综合实力与卓越的技术创新能力,再次荣登榜单,位居第六位。 本届评选,Top 100 企业的数据指标的权…...

力扣刷题班第1节:Python语法常遗漏的知识

以下仅仅记录和后面力扣刷题相关的、且平常会遗漏的语法知识。 下面这些笔记都是点到为止,不进行深入解释。大多数学过python的朋友看到就知道什么意思的,我就不解释了 字符串 str "I am a cook"# 按照空格切分 str.split(" ") …...

GET 和 POST请求的区别是什么

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你轻轻松松的给出了一个“标准答案”: GET在浏览器回退时是无害的…...

Python数据分析实战-表连接-merge四种连接方式用法(附源码和实现效果)

实现功能 表连接-merge四种连接方式用法, 将两个pandas表根据一个或者多个键(列)值进行连接。 实现代码 import pandas as pddf1 pd.DataFrame({key: [a, b, d],data1: range(3)}) print(df1)df2 pd.DataFrame({key: [a, b, c, a, b],dat…...

NFTScan 浏览器再升级:优质数据服务新体验来袭

当前,高质量的 NFT 数据服务已成为区块链用户和开发者的必需。为满足用户数据需求,NFTScan 主站近日进行全面升级,优化了数据服务板块的页面结构,实现更清晰简洁的布局和交互。 NFTScan 的改版充分考虑用户和开发者的数据体验&am…...

C# 去除utf-8 BOM头

static void Main(string[] args) {var a1 Encoding.UTF8.GetBytes("<");var a2 Encoding.UTF8.GetBytes("&#xfeff;<");Console.WriteLine("去除utf-8 bom之前");Console.WriteLine(Encoding.UTF8.GetString(a1));Console.WriteLine(…...

Java注解以及自定义注解

Java注解以及自定义注解 要深入学习注解&#xff0c;我们就必须能定义自己的注解&#xff0c;并使用注解&#xff0c;在定义自己的注解之前&#xff0c;我们就必须要了解Java为 我们提供的元注解和相关定义注解的语法。 1、注解 1.1 注解的官方定义 注解是一种元数据形式。…...

[开学季]ChatPaper全流程教程

文章目录 1. 粗筛&#xff1a;论文全文总结1.1 使用步骤&#xff1a; 1.2 功能描述&#xff1a;2. 论文问答&#xff1a;2. 精读&#xff1a;学术版GPT的论文翻译2.0 论文精读的正确姿势2.1 使用场景1&#xff1a;arxiv论文完美翻译2.2 本地PDF全文翻译&#xff1a;2.3 关于免费…...

Spring学习笔记——4

Spring学习笔记——4 一、基于AOP的声明式事务控制1.1、Spring事务编程概述1.2、搭建测试环境1.3、基于XML声明式事务控制1.4、基于注解声明式事务控制 二、Spring整合web环境2.1、JavaWeb三大组件作用及其特点2.2、Spring整合web环境的思路及实现2.3、Spring的Web开发组件spri…...

Python数据科学入门

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 来自不同角色的人都希望保住自己的工作&#xff0c;因此他们将致力于发展自己的技能以适应当前的市场。这是一个竞争激烈的市场&#xff0c;我们看到越来越多的人对数据科学产生兴趣;该行业有数千门在线课程、训练营和…...

Ubuntu 22.04 编译 DPDK 19.11 igb_uio 和 kni 报错解决办法

由于 Ubuntu22.04 内核版本和gcc版本比较高&#xff0c;在编译dpdk时会报错。 我使用的编译命令是&#xff1a; make install Tx86_64-native-linuxapp-gcc主要有以下几个错误&#xff1a; 1.error: this statement may fall through Build kernel/linux/igb_uioCC [M] /roo…...

Android Studio.exe 下载 2023 最新更新,网盘下载

方便大家下载&#xff0c; 放到了网盘上&#xff0c;自己也保留一份。&#xff08;最前面是最新版本的&#xff0c;慎用&#xff0c; 会有bug什么的&#xff09; 个人使用4.2版本的&#xff0c;感觉够用稳定&#xff0c;其他版本有莫名奇妙的bug&#xff0c;让人头大&#xff0…...

element的el-select给下拉框添加背景

第一步 :popper-append-to-body"false" <el-selectv-model"value"placeholder"请选择":popper-append-to-body"false"><el-optionv-for"item in options":key"item.value":label"item.label&quo…...

商洛做网站多少钱/google推广

某个客户数据库在巡检的时候发现alert日志里不定期会出现ORA-609错误&#xff0c;由于ORA-609的缘故&#xff0c;ospid(xxxx)进程被aborting了&#xff0c;同时还某个客户数据库在巡检的时候发现alert日志里不定期会出现ORA-609错误&#xff0c;大致内容如下&#xff1a;******…...

政府网站建设做法/百度自然搜索排名优化

一、什么是Web Hook&#xff1f;Webhook是一个API概念&#xff0c;并且变得越来越流行。我们能用事件描述的事物越多&#xff0c;webhook的作用范围也就越大。Webhook作为一个轻量的事件处理应用&#xff0c;正变得越来越有用。简单来说就是一种反向API机制,类似于触发器的一样…...

网站建设秋实/百度关键词如何优化

1 介绍 在分布式系统中&#xff0c;由于涉及到多个不同业务module的交互&#xff0c;以及高并发的场景。我们需要系统能够生成一个跨业务module的全网唯一序列号&#xff0c;来保证我们业务操作的独立性和唯一性。 在常见的业务场景中&#xff0c;比如全局订单Id&#xff0c…...

新公司名字注册查询/教程推广优化网站排名

使用领域模型&#xff0c;很少会像创建实际领域模型类、然后使用它们那么简单。很快你就会发现&#xff0c;领域模型必须得到相当数量的基础架构代码的支持。 领域模型所需基础架构当中最显著的当然是持久化——通常是持久化到关系型数据库中&#xff0c;也就是对象/关系&#…...

福州建设厅官方网站/国产系统2345

CSMA/CD&#xff08;CarrierSenseMultipleAccesswithCollisionDetection&#xff09;即带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测)。在传统的共享以太网中&#xff0c;所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务&#xf…...

阿里云是不是做网站的/企业网站设计素材

php有array_merge合并数组功能&#xff0c;但是有个问题&#xff0c;这个函数只合并一维数组&#xff0c;如果有多维数组&#xff0c;则后面的会覆盖前面数组中的子节点&#xff0c;因此写啦另一个深度合并的函数来合并子节点的元素/*** 深度合并数组* DateTime 2020-01-11* Au…...