ts通过class类封装axios
axios是什么
Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。
axios特性
1. 支持promise请求
2. 拦截和响应数据
3. 自动转换JSON数据
axios请求的方法
get:用于获取数据,请求指定的信息。
post:适用于向服务端提交表单数据。
put:用于更新数据,
delete:请求服务器删除指定的数据
请求的别名
axios()
axios.request()
axios.get()
axios.post()
axios.put()
axios.delete
axios创建实例
const instance = axios.create({
baseURL: 'https://some-domain.com/api/',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
axios拦截器
添加请求拦截器
axios.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
添加响应拦截器
axios.interceptors.response.use(function (response) {
// 对响应数据做点什么
return response;
}, function (error) {
// 对响应错误做点什么
return Promise.reject(error);
});
axios封装
优化配置,设置默认配置项(responseType、跨域携带cookie、token、超时设置)
统一设置请求头
根据环境设置 baseURL
通过 Axios 方法直接发起请求
添加请求拦截器
添加响应拦截器
导出 Promise 对象
请求成功,配置业务状态码
全局的loading配置