拦截器是 Axios 提供的中间件机制,用于在请求或响应前后插入处理逻辑。分为 请求拦截器 和 响应拦截器。
请求拦截器
请求拦截器可以用于修改请求配置,如添加认证信息、修改请求头等。
示例:
axios.interceptors.request.use(config => {
config.headers['Authorization'] = `Bearer ${authToken}`;
return config;
}, error => {
return Promise.reject(error);
});
响应拦截器
响应拦截器可以统一处理服务器返回的数据,或者捕获错误。
axios.interceptors.response.use(
response => response.data, // 提取核心数据
error => {
if (error.response.status === 401) {
// 跳转到登录页面
}
return Promise.reject(error);
}
);
注意:遵循链式执行(多个拦截器按添加顺序依次执行)