Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 Node.js 中。它提供了一系列的请求和响应拦截器,可以实现数据转换、请求授权、防御 XSRF 等功能。下面是 Axios 的详细使用说明。
- 安装 Axios
在项目中安装 Axios,可以使用 npm 或者 yarn 命令:
npm install axios
或者
yarn add axios
- 引入 Axios
在需要使用 Axios 的文件中引入 Axios:
import axios from 'axios';
- 创建 Axios 实例
创建 Axios 实例,可以在实例中配置一些默认参数,如请求超时时间等:
const httpService = axios.create({
timeout: 3000 // 请求超时时间,单位为毫秒
});
- 请求拦截器
使用请求拦截器可以在请求前做一些处理,如添加授权信息、请求数据加密等:
httpService.interceptors.request.use(config => {
// 在发送请求之前做些什么
// 例如添加请求头、加密请求数据等
return config;
}, error => {
// 对请求错误做些什么
Promise.reject(error);
});
- 响应拦截器
使用响应拦截器可以在响应前做一些处理,如对响应数据进行解密、统一处理响应数据等:
httpService.interceptors.response.use(response => {
// 对响应数据做点什么,例如解密、统一处理等
return response.data;
}, error => {
// 对响应错误做点什么,例如统一处理错误码等
if (error && error.response) {
switch (error.response.status) {
case 400:
error.message = '错误请求';
break;
case 401:
error.message = '未授权,请重新登录';
break;
// 其他错误处理...
}
} else {
error.message = '请求失败'; // 其他错误处理...
}
return Promise.reject(error); // 将错误传递给下一个拦截器或者调用者...
});
标签:Axios,请求,拦截器,使用,说明,响应,axios,error
From: https://blog.51cto.com/u_16207237/8680506