vue的怎么在新建的axios.js拦截器文件里用vuerouter跳转
新建的http.js设置拦截器,怎么在请求拦截器里判断未登录,然后用vue-router跳转到登录页面
import axios from 'axios'
import { Message } from 'element-ui'
import Router from 'vue-router'
axios.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
console.log('请求呀')
Router.push('/login')//这样用不对
return config;
}, function (error) {
// 对请求错误做些什么
Message.error({message: '服务器故障', duration: 2000})
return Promise.reject(error);
});
这样报错
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在路由文件router.js中新建路由实例
在需要使用路由的地方引入router
这里是不行的,用window.location.href来跳转
main.js文件
const rootVueObj = new Vue({
}).$mount('#app');
export default rootVueObj;
api文件
import rootVueObj from '../main.js';
拦截器里用rootVueObj代替this
Axios 不适合做未登录的跳转
如果判断未登录最好的跳转方式是
axios.interceptors.response.use(
response => {
},
error => {
});