首先了解一下什么叫axios?
浏览文档时可以看见,Axios是一个基于promise的http库,可以在浏览器和node.js中使用。
Axios的特性:
1.从浏览器中创建XMLHttpRequests
2.从node.js创建http请求
3.支持Promise API
4.拦截请求和响应(我主要学习这块)
5.转换请求数据和响应数据
6.取消请求
7.自动转换Json数据
8.客户端支持防御XSRF
安装方法 :我习惯用npm的方式
npm install axios
执行get请求时
//为给定id的user创建请求
axios.get('/user?id=123')
.then(function(response){
console.log(response)
})
.catch(function(err){
console.log(err);
});
//另一种方式 params传参
axios.get('/user',{
params:{
id:1234
}
})
.then(function(response){
console.log(response)
})
.catch(function(err){
console.log(err);
})
执行post请求时
axios.post('/user',{
firstName: 'aaa',
lastName: 'bbb'
})
.then(function(response){
console.log(response);
})
.catch(function(err){
console.log(err);
})
还可以通过向axios传递相关配置以用来创建请求
post请求
axios({
method: 'post',
url: '/xx/xxx/xx',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
})
除此之外,还涉及到请求别名,详细请看axios官方文档
作为拦截器使用时:
在请求或响应被then或catch处理前拦截,
添加请求拦截器的操作
axios.interceptors.request.use(function(config){
//在发送请求之前做些什么
return config;
}),function(err){
//对请求错误做些什么
return Promise.reject(err);
}
添加响应拦截器的操作
axios.interceptors.response.use(function(response){
//对响应数据做点什么
return response;
},function(err){
//对响应错误做点什么
return Promise.reject(err);
})