axios请求拦截器和响应拦截器

复制代码
import axios from 'axios';

const service = axios.create({
  baseURL: 'http:// test.com/api/',
  headers: { 'X-Requested-With': 'XMLHttpRequest' },
  withCredentials: true,
  timeout: 10000,
});

service.interceptors.request.use(
  config => {
    config.headers.Authorization = localStorage.getItem('Token');
    return config;
  },
  error => {
    return Promise.reject(error);
  },
);

service.interceptors.response.use(
  res => {
    if (!res.headers['content-type']?.includes('application/json')) {
      // 非JSON类型,返回原始数据自行处理
      return res;
    }
    const { data } = res.data;
    if (!data) {
      throw new Error('请求繁忙,请稍候再试~');
    }
    return res.data;
  },
  error => {
    return Promise.reject(error);
  },
);
复制代码

在main.js中引入,axios按需配置

posted @   hwinter_c  阅读(307)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示