Axios请求(对于ajax的二次封装)——Axios拦截器与错误处理
import axios from 'axios';
// 创建axios实例
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // api的base_url
timeout: 5000 // 请求超时时间
});
// 请求拦截器
service.interceptors.request.use(
config => {
// 可以在这里添加请求头等信息
// 例如:config.headers['Authorization'] = 'Bearer ' + token;
return config;
},
error => {
// 请求错误处理
console.log('请求拦截器发生错误:', error);
return Promise.reject(error);
}
);
// 响应拦截器
service.interceptors.response.use(
response => {
// 可以在这里对响应数据进行处理
// 例如:对于不同的响应状态码做不同的处理
const res = response.data;
return res;
},
error => {
// 响应错误处理
console.log('响应拦截器发生错误:', error);
return Promise.reject(error);
}
);
export default service;
这个代码实例展示了如何使用axios创建一个二次封装的请求服务,并在其中添加请求拦截器和响应拦截器以处理请求和响应。同时,错误处理中使用了console.log
来输出错误信息,实际应用中可以根据需要进行错误日志记录或者提示用户。
评论已关闭