axios简介
在vue2.0之后,axios代替jq ajax对后端发送请求,axios是一个基于Promise用于浏览器和node.js的HTTP客户端,但是本质上也是对XHR的封装,但他是promise的实现版本,很好的解决了传统ajax在实现有先后关系多个请求时出现的回调地狱。
axios的特性
在浏览器中创建XMLHttpRequests
在node.js中创建http请求
支持promiseAPI
拦截请求和响应
转换请求数据和响应数据
取消请求
自动转换JSON数据
客户端支持防御XSRF(让每个请求都带一个从cookie中拿到的key, 根据浏览器同源策略,假冒的网站是拿不到你cookie中得key的,这样后台就可以辨别这个请求是否是用户在假冒网站上的误导输入,从而采取正确的策略。)
axios的用法
axios({
method: ’ ',
url: ’ ',
data: {
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
添加请求拦截和响应拦截
// 添加请求拦截器
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);
});