ajax拦截vue,vue开发系列 vue ajax拦截

概要说明

在开发的过程中,我们需要通过AJAX请求,访问后台获取数据,这个获取数据的时候,当然需要后台需要时登陆状态才能访问数据,当没有登陆的情况,这个时候我们需要跳转到登陆界面进行登陆。

如果每次请求都要做如下处理,我们的程序逻辑将无比混乱,ajax可以为我们解决这个问题

具体实现思路是:

1.发送ajax请求访问后端数据。

2.后段如果发现没有登陆,那么将会丢出一个exceptionaction的http相应头。

3.这个判断将在ajax拦截中处理,只要有这个exceptionaction响应头,我们会检查是否有登陆token,如果没有就会去到登陆界面,如果有则尝试使用token自动登陆。

这个过程将在拦截中完成。

这个好处是 客户只需要关注业务代码的编写,登陆处理放到拦截中处理,而且所有的请求将都会被拦截

实现代码

//lib/axios

const axiosInstance =axios.create({

timeout:2000,

headers:{'Content-Type':'application/x-www-form-urlencoded','X-Requested-With':'XMLHttpRequest'}

})

axios 是我们访问后台的js框架

定义拦截处理

//lib/axios

functioninterceptAjax(res){

const tmp= res.headers['exceptionaction'];if(!tmp) returnres;//系统已经登陆

const token = RxUtil.getCache('token');if(!token){

router.push({

name:'login'});return;

}

}

使用拦截器

axiosInstance.interceptors.response.use(res => interceptAjax(res));

这样每次访问都会经过拦截器,这也给我们一些思路,一些需要统一验证的访问,可以通过拦截器进行处理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值