如何使用 Axios 中的请求拦截器 和响应拦截器
创始人
2025-05-28 18:06:18

Axios 是一个常用的 JavaScript 库,用于发送 HTTP 请求和处理响应。在网站设计中,我们可以使用 Axios 请求拦截器和响应拦截器来实现一些常见的需求,例如添加认证信息、处理错误信息等。以下是一个简单的例子:

import axios from 'axios';// 创建一个 Axios 实例
const instance = axios.create({baseURL: 'https://xxx.example.com',timeout: 5000,
});// 添加请求拦截器
instance.interceptors.request.use(function(config) {// 在请求发送之前做一些自定义操作config.headers.Authorization = 'Bearer ' + localStorage.getItem('token');return config;},function(error) {// 对请求错误做些什么return Promise.reject(error);}
);// 添加响应拦截器
instance.interceptors.response.use(function(response) {// 对响应数据做些什么return response.data;},function(error) {// 对响应错误做些什么if (error.response.status === 401) {// 处理认证错误}return Promise.reject(error);}
);// 发送 GET 请求
instance.get('/data').then(function(response) {console.log(response);
});

在这个例子中,我们首先创建了一个 Axios 实例,并使用 create 方法来指定一些默认配置,例如基础 URL 和超时时间。然后,我们添加了一个请求拦截器和一个响应拦截器。

请求拦截器通过 use 方法来添加,其中

  • 第一个函数在请求发送之前执行,可以在这里修改请求配置;

  • 第二个函数在请求错误时执行。

响应拦截器也是通过 use 方法来添加,其中

  • 第一个函数在接收到响应后执行,可以在这里处理响应数据;

  • 第二个函数在接收到响应错误时执行,可以在这里处理错误信息。

最后,我们通过实例来发送 GET 请求,并在 then 方法中处理响应数据。

需要注意的是,Axios 的拦截器是链式调用的,每个拦截器都必须返回一个配置对象或一个 Promise。请求拦截器可以修改请求配置,并通过 return config 将其返回。响应拦截器可以处理响应数据,并通过 return response.data 将处理后的数据返回。如果出现错误,可以通过 return Promise.reject(error) 将错误信息返回,使得后续的 catch 方法能够捕获到错误。

相关内容

热门资讯

投资者提问:请问董秘,当前中日... 投资者提问:请问董秘,当前中日关系陷入僵局乃至谷底之际,公司有规划更多使用国产光刻胶等材料来替代日系...
富德生命人寿咸阳中心支公司被罚... 12月16日金融一线消息,据咸阳金融监管分局行政处罚信息公开表显示,富德生命人寿保险股份有限公司咸阳...
市场监管总局:抓紧推进出台《互... 转自:北京日报客户端记者16日从市场监管总局获悉,市场监管总局正抓紧推进《互联网平台反垄断合规指引》...
天奇股份:锂电循环业务夯实产业... 12月16日,江西天奇金泰阁集团(简称“天奇金泰阁”)资本赋能发展大会在江西龙南举行。会上,天奇股份...
「侠客岛」他们用上了“AI分身...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:海外网)来源...