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

代理分佣后台网站开发安徽住房和城乡建设厅官网

代理分佣后台网站开发,安徽住房和城乡建设厅官网,php做网站参考文献,东莞企业公司网站建设请求拦截器 和 响应拦截器 是 axios 提供的强大功能,用于在请求发送前和响应返回后统一处理某些逻辑。它们的作用和具体用法如下: 1. 请求拦截器 作用 在请求发送之前,对请求配置进行统一处理。例如: 添加请求头(如…

请求拦截器响应拦截器axios 提供的强大功能,用于在请求发送前和响应返回后统一处理某些逻辑。它们的作用和具体用法如下:


1. 请求拦截器

作用

在请求发送之前,对请求配置进行统一处理。例如:

  • 添加请求头(如 Authorization)。
  • 修改请求参数。
  • 显示加载状态。
用法

通过 axios.interceptors.request.use 方法注册请求拦截器。

示例
instance.interceptors.request.use((config) => {// 在请求发送之前做一些处理const token = localStorage.getItem('token');if (token) {config.headers.Authorization = `Bearer ${token}`; // 添加 token 到请求头}return config; // 返回处理后的配置},(error) => {// 对请求错误做些什么return Promise.reject(error);}
);
场景
  • 添加认证信息(如 token)。
  • 统一添加请求头(如 Content-Type)。
  • 在发送请求前显示加载动画。

2. 响应拦截器

作用

在响应返回之后,对响应数据进行统一处理。例如:

  • 统一处理错误状态码。
  • 提取响应数据。
  • 隐藏加载状态。
用法

通过 axios.interceptors.response.use 方法注册响应拦截器。

示例
instance.interceptors.response.use((response) => {// 对响应数据做些什么const { code, message, data } = response.data;if (code === 0) {return data; // 返回实际数据} else {ElMessage.error(message || '请求失败'); // 显示错误提示return Promise.reject(new Error(message || '请求失败')); // 抛出错误}},(error) => {// 对响应错误做些什么ElMessage.error(error.message || '网络错误'); // 显示网络错误提示return Promise.reject(error); // 抛出错误}
);
场景
  • 统一处理后端返回的错误码。
  • 提取响应中的实际数据。
  • 在响应返回后隐藏加载动画。

完整示例

以下是一个完整的 request.ts 文件,包含请求拦截器和响应拦截器的实现:

import axios from 'axios';
import { ElMessage } from 'element-plus';// 创建 axios 实例
const instance = axios.create({baseURL: import.meta.env.VITE_API_BASE_URL, // 基础 URLtimeout: 10000, // 请求超时时间
});// 请求拦截器
instance.interceptors.request.use((config) => {// 在发送请求之前做些什么const token = localStorage.getItem('token');if (token) {config.headers.Authorization = `Bearer ${token}`; // 添加 token 到请求头}return config; // 返回处理后的配置},(error) => {// 对请求错误做些什么return Promise.reject(error);}
);// 响应拦截器
instance.interceptors.response.use((response) => {// 对响应数据做些什么const { code, message, data } = response.data;if (code === 0) {return data; // 返回实际数据} else {ElMessage.error(message || '请求失败'); // 显示错误提示return Promise.reject(new Error(message || '请求失败')); // 抛出错误}},(error) => {// 对响应错误做些什么ElMessage.error(error.message || '网络错误'); // 显示网络错误提示return Promise.reject(error); // 抛出错误}
);// 封装常用请求方法
export const request = {get(url, params = {}) {return instance.get(url, { params });},post(url, data = {}) {return instance.post(url, data);},put(url, data = {}) {return instance.put(url, data);},delete(url, params = {}) {return instance.delete(url, { params });},
};export default request;

使用示例

1. 发送 GET 请求
import { request } from '@/utils/request';const fetchData = async () => {try {const data = await request.get('/api/data');console.log(data);} catch (error) {console.error('请求失败:', error);}
};
2. 发送 POST 请求
import { request } from '@/utils/request';const submitForm = async () => {try {const response = await request.post('/api/submit', { name: 'John' });console.log(response);} catch (error) {console.error('提交失败:', error);}
};

总结

  • 请求拦截器:用于在请求发送前统一处理逻辑(如添加请求头)。
  • 响应拦截器:用于在响应返回后统一处理逻辑(如提取数据、处理错误)。
  • 优势:减少重复代码,提高代码可维护性,统一处理公共逻辑。

通过合理使用请求拦截器和响应拦截器,可以显著提升代码质量和开发效率。

http://www.dtcms.com/a/404299.html

相关文章:

  • 微网站用什么做天津工程建设信息网站
  • 网站制造做网站流量
  • 南昌网站开发培训学校全媒体运营师报考条件
  • 站长工具下载app智能云建站
  • 做网站应该会什么问题建设一个网站需要哪些方面的开支
  • 宁德住房和城乡建设部网站东莞创建网站
  • 网站做微信链接怎么做的建设网站的知识竞赛
  • 上海好的高端网站建设服务公司网站建设一站式
  • 网站百度秒收自助建站管理平台
  • 网站建设的机构2022年企业所得税政策
  • 手机网站建设维护网络叶子 网站推广
  • 公司网站建设的方案网站建设网站
  • 北京通州个人网站建设桐柏网站
  • 西安房产网站大全wordpress手机版中文
  • 做网站的目标wordpress 字符转义
  • 婚恋网站女代我做彩票二维码自动生成
  • 局域网建站软件上海公司企业查询
  • 马鞍山做网站的福州搜索优化技术
  • 哪个网站可以学做包子电子商务网站规划的原则
  • 仿it资讯类网站源码王烨当兵小说
  • 智慧外贸平台|基于Java+vue的智慧外贸平台系统(源码+数据库+文档)
  • 爱站网长尾关键词挖掘工具微信小程序怎么加入我的小程序
  • pxcharts多维表格编辑器Ultra版:支持二开 + 本地化部署的多维表格解决方案
  • 网站安全管理机制建设建设银行德阳分行网站
  • php网站数据库怎么上传做网站的专业
  • 做公司网站应准备什么材料淮安建设局网站
  • 河北唐山网站建设商务网站开发与建设
  • python 做网站合适吗网站的命名规则
  • 网站开发与设计实训报告1000字网站如何做百度权重
  • C++ 容器学习系列|vector 核心知识全解析,铺垫下一期模拟实现