二次封装ajax和axios
二次封装axios通常是为了简化请求的创建过程,增加非功能性的请求配置,例如错误处理、基地址设置、取消请求等。以下是一个简单的二次封装axios的例子:
import axios from 'axios';
// 创建axios实例
const http = axios.create({
baseURL: 'http://your-api-url/', // 基础URL
timeout: 10000, // 请求超时时间
});
// 请求拦截器
http.interceptors.request.use(config => {
// 可以在这里添加例如token等请求头
// config.headers['Authorization'] = 'Your Token';
return config;
}, error => {
// 请求错误处理
return Promise.reject(error);
});
// 响应拦截器
http.interceptors.response.use(response => {
// 对响应数据做处理,例如只返回data部分
return response.data;
}, error => {
// 响应错误处理
return Promise.reject(error);
});
// 导出二次封装后的axios实例
export default http;
使用二次封装后的axios实例进行请求:
import http from './path/to/your/http';
http.get('/endpoint')
.then(data => {
// 处理响应数据
console.log(data);
})
.catch(error => {
// 处理错误
console.error(error);
});
在实际应用中,你可以根据项目需求添加更多的配置和拦截器逻辑。
评论已关闭