<!DOCTYPE html>
<html>
<head>
<title>封装axios对象</title>
</head>
<body>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
// 创建一个axios对象
class Base {
baseurl = 'http://www.baidu.com/'
get_fun = (url,params) => {
return axios({
url,
methods: 'GET',
baseURL: this.baseurl,
withCredentials: true,
}).then(res => {
console.log(res)
}).catch(error => {
console.log(error)
})
}
post_fun = (url,params) => {
return axios({
url,
methods: 'POST',
baseURL: this.baseurl,
withCredentials: true,
}).then(res => {
console.log(res)
}).catch(error => {
console.log(error)
})
}
}
// 请求拦截器
axios.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
console.log('查看用户是否登录,如果登录了,给用户携带Token')
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
// 对响应数据做点什么
// 对全局状态码进行判断。
return response;
}, function (error) {
// 请求失败了
console.log('======',error)
// 对响应错误做点什么
return Promise.reject(error);
});
let base = new Base()
base.get_fun('?ie=utf-8&wd=a',{id: '12'})
</script>
</body>
</html>
axios的简单封装
最新推荐文章于 2024-06-07 16:07:04 发布