【vue2小知识】实现axios的二次封装
在Vue2项目中,可以通过创建一个axios实例并配置默认行为,然后在这个实例上添加方法以实现二次封装。以下是一个简单的例子:
- 安装axios:
npm install axios
- 创建一个axios实例并进行二次封装:
// http.js
import axios from 'axios';
const http = axios.create({
baseURL: 'https://your-api-url.com', // 基础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);
});
export default http;
- 使用封装后的axios实例发送请求:
// 其他组件或者文件
import http from './http.js';
http.get('/someEndpoint')
.then(response => {
// 处理响应
console.log(response);
})
.catch(error => {
// 处理错误
console.error(error);
});
这样,你就可以通过导入并使用这个封装过的http实例来发送请求,并且可以在拦截器中添加全局的请求和响应逻辑。
评论已关闭