Vue 2 中的 axios 响应拦截器中使用 什么进行页面跳转
时间: 2024-09-21 12:12:42 浏览: 102
vue 实现axios拦截、页面跳转和token 验证
5星 · 资源好评率100%
在 Vue 2 中的 axios 响应拦截器中,通常不直接使用 `axios` 或者 `router.push` 进行页面跳转。如果你想在某个条件满足时动态地导航到另一个页面,你应该在服务端返回的响应数据中包含有关路由的信息,例如:
```javascript
// 拦截器函数
axios.interceptors.response.use(
response => {
// 如果服务器返回的状态码或数据需要导航到新的页面
if (response.data.status === 'redirect') {
const { path } = response.data;
this.$router.push(path);
}
return response; // 正常处理响应
},
error => {
// 处理错误
console.error(error);
// 可能的处理:提示用户或显示错误页面
}
);
```
在这里,`this.$router.push` 是通过 Vue Router 实现的页面切换,它允许你在响应拦截器中基于业务逻辑更改当前路由。这种方式既保持了代码的清晰,也避免了在非响应相关的上下文中滥用路由功能。
阅读全文