VueJS - Axios 拦截器未收到 401 响应

VueJS - Axios Interceptors not recieving 401 response

当我发出 Post 请求时,我试图为 Axios 设置请求和响应拦截器,但是我只能让请求拦截器响应,除此之外,我已经包含了一个示例它不是 运行:

这是 axios 设置:

import axios from "axios";

axios.defaults.baseURL = "https://btk7dl15c9.api.quickmocker.com";

axios.interceptors.request.use(
  async (config) => {
    console.log("request ok");
    return config;
  },
  (error) => {
    console.log("request error");
    return Promise.reject(error);
  }
);
axios.interceptors.response.use(
  (response) => {
    console.log("response ok");
    return response;
  },
  (error) => {
    console.log("response error");
    return Promise.reject(error);
  }
);

export default {
  methods: {
    axiosPost(url, data) {
      return axios.post(url, data);
    }
  }
};

https://codesandbox.io/s/keen-shockley-xccsx

我需要能够拦截 401 才能进行令牌刷新调用(不包含在示例中)

您使用了 "axios": "0.21.2",它似乎在他们在 v0.21.3

中修复的拦截器中存在错误

如果您达到 0.21.3 或降低到 0.21.1,这应该可以解决您的问题。

查看发布日志:https://github.com/axios/axios/releases/tag/0.21.3