对vue中用到的axios做下简单总结介绍

7 篇文章 0 订阅
7 篇文章 0 订阅

Axios :Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,是http的客户端
由于在做vue项目,Vue2.0之后,尤大大推荐大家用axios替换vue-resource(虽然也能用但已经不维护了),Axios本质上也是对原生XHR的封装它有一些特性
1:从浏览器中创建 XMLHttpRequests:
2:从 node.js 创建 http 请求
3:支持 Promise API
4:拦截请求和响应
5:转换请求数据和响应数据
6:取消请求
7:自动转换 JSON 数据
8:客户端支持防御 XSRF

并且axios基于vue和react这些主流的框架有更深的锲合,我们用起来也会更加方便
axios的作用是什么呢:axios主要是用于向后台发起请求的,还有在请求中做更多可控功能,比如路由拦截,路由守卫…
官方文档中也说了Axios是基于promise的
promise的是什么呢:是一个对象用来传递异步操作的信息,它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的api,可供进一步的处理。promise的作用:Promise的出现主要是解决地狱回调的问题,比如你需要结果需要请求很多个接口,这些接口的参数需要另外那个的接口返回的数据作为依赖,这样就需要我们一层嵌套一层,但是有了Promise 我们就无需嵌套。
promise的本质是什么:分离异步数据获取和业务
基本使用方法:
1:axios的请求
axios执行GET请求

在这里插入图片描述执行POST请求
在这里插入图片描述
执行多个并发请求
在这里插入图片描述get和post都是基于promise的所以写法上很相似,是用then和catch,使用这种方法来进行发送请求。
2:axios拦截器
axios拦截器分为请求拦截器和响应拦截器,可以在我们发起请求或者响应被then或catch处理之前拦截他们(也就是拦截器会在请求或响应时拦截下来进行处理)use()是一个方法
01.请求拦截器(this.axios.interceptors.request.use())是指可以拦截每次或指定HTTP请求,并可修改配置项,比如添加请求头
02.响应拦截器(this.axios.interceptors.response.use())可以在每次HTTP请求后拦截住每次或指定HTTP请求,并可修改返回结果项。
在这里插入图片描述
比如使用拦截器拦截请求,并在请求头中添加token(常用)
在这里插入图片描述
拦截器的工作流程:

在这里插入图片描述
3:移除拦截器
在这里插入图片描述:
4:取消
使用 cancel token 取消请求

可以使用 CancelToken.source 工厂方法创建 cancel token
5:添加请求跟路径
axios.defaults.baseURL=" /root"
6:axios全局路由守卫
axios拦截器拦截的是请求或者响应,axios路由守卫是拦截的路由跳转 用router.beforeEach方法,,,,,,简单写一下
router.beforeEach((to,from,next)=>{
let token=localStorage.getItem(‘token’)
if(token){ 获取token 有token说明登陆了就继续
next()
}else{
if(to.path===’ /login’){ 没token,但是访问的是登录页
next()
}else{没token,也没访问登录页就去登录页
from(’/login’)
}
}
})
还有很多以后有机会再添加吧
参考资料:axios中文文档 参考链接 https://www.jianshu.com/p/13cf01cdb81f

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值