axios请求拦截跳转路由
时间: 2023-07-04 17:18:48 浏览: 134
vue axios登录请求拦截器
在axios的请求拦截器中,可以使用Vue Router的router实例进行路由跳转。具体实现如下:
```javascript
import axios from 'axios'
import router from './router'
// 请求拦截器
axios.interceptors.request.use(
config => {
// 在请求头中添加Authorization字段,用于后端验证用户身份
if (localStorage.getItem('token')) {
config.headers.Authorization = localStorage.getItem('token')
}
return config
},
error => {
return Promise.reject(error)
}
)
// 响应拦截器
axios.interceptors.response.use(
response => {
return response
},
error => {
// 如果返回的状态码为401,说明未登录或者登录失效
if (error.response.status === 401) {
// 清除本地存储的token
localStorage.removeItem('token')
// 跳转到登录页面
router.push('/login')
}
return Promise.reject(error)
}
)
export default axios
```
在响应拦截器中,如果返回的状态码为401,则说明用户未登录或登录已失效,此时可以清除本地存储的token,并通过router实例跳转到登录页面。
阅读全文