响应拦截器的作用是在接收到响应后进行一些操作,例如在服务器返回登录状态失效,需要重新登录的时候,跳转到登录页。就是在请求结果返回后,先不直接导出,而是先对响应码等等进行处理,处理好后再导出给页面,如果将这个对响应码的处理过程抽出来,就成了所谓的响应拦截器;
// 添加响应拦截器
instance1.interceptors.response.use(function (response) {
return response
}, async function (error) {
// 如果发生了错误,判断是否是401
console.dir(error)
// 开始处理
return Promise.reject(error)
})
- 响应拦截器解决token过期问题
当发送某一次请求axios后,后台报401错误,可能是tonken过期了或是还没有tonken
- tonken过期:可以使用它去请求一个特殊接口(这个接口是后端指定的,refresh_token),并返回一个新的token回来(有效期还是2小时),以替换过期的token。如果refresh_token也没有了则需要重新登录
- 没有tonken:跳到登录页重新登录
有新token后需要重新刷新vuex
使用新token重新请求axios
import router from