vue路由报错Navigating to current location (“/login“) is not allowed踩坑总结
.在我添加“未登录”判断后,想自动跳转到登录页。但是遇到了问题:
Navigating to current location ("/login") is not allowed
不停的报错:
背景:
我在main.js里面写了判断路由跳转。
解决办法:
网上说:
在路由跳转的时候同一个路由多次添加
是不被允许的
所以最后:
代码:
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import axios from 'axios'
import VueAxios from 'vue-axios'
import qs from 'qs'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import global from './Global'
import vueAplayer from 'vue-aplayer'
import Router from 'vue-router';Vue.prototype.GLOBAL = global
axios.defaults.baseURL = global.BASE_URL
axios.defaults.withCredentials = trueVue.prototype.$axios = axiosVue.use(Router,vueAplayer, VueAxios, axios, qs)
// 全局配置:完整引入 Element:
Vue.use(ElementUI, {size: 'small', zIndex: 3000});
Vue.config.productionTip = false;//在路由跳转的时候同一个路由多次添加是不被允许的
//重写路由的push方法
const VueRouterPush = Router.prototype.push
Router.prototype.push = function push (to) {return VueRouterPush.call(this, to).catch(err => err)
}//在路由跳转之前判断,除了首页以外,其他页面必须登录才能访问,异步问题
router.beforeEach((to, from, next) => {if (to.path === '/' || to.path === '/login' || to.path === '/activate' || to.path === '/register') {next();} else {axios.get("/user/isLogin").then(response => {console.log(response.data);let data = response.data;if (data.status === global.responseCode.OK && data.result === true) {console.log("登录成功");next();} else {next('/login?redirect=' + to.path);}});}
});new Vue({router,// render函数是渲染一个视图,然后提供给el挂载,如果没有render那页面什么都不会出来//components: { App } vue1.0的写法// render: h => h(App) vue2.0的写法render: h => h(App),template: '<App/>',
}).$mount('#app')
关键点:
最开始写在main.js里面的。结果还是出问题了。然后我就把关键内容。剪切到index.js里面就好了!
vue路由报错Navigating to current location (“/login“) is not allowed踩坑总结相关推荐
- 代码跳转路由报错_vue路由报错Navigating to current location (/login) is not allowed踩坑总结...
.在我添加"未登录"判断后,想自动跳转到登录页.但是遇到了问题: Navigating to current location ("/login") is no ...
- vue报错Navigating to current location (/login) is not allowed
报错信息 错误原因:出现这个错误的原因是,在路由跳转的时候两次push的path地址相同 最后发现自己在/login页面跳转的时候确实还是跳转到这个页面 解决办法1:将通过路由的<router- ...
- vue项目报错Navigating to current location (/cancell) is not allowed
先截个图,控制台报错如上.不影响功能,但是看着膈应. 百度了下,这个问题是由于连续点击相同路由导致的.vue-router未处理这个问题. 解决方式 :自己捕捉错误 一. this.$router.p ...
- 解决vue项目路由出现message: “Navigating to current location (XXX) is not allowed“的问题
解决vue项目路由出现message: "Navigating to current location (XXX) is not allowed"的问题 参考文章: (1)解决vu ...
- 解决vue项目路由出现message: “Navigating to current location (XXX) is not allowed“的问题(点击多次跳转)
解决vue项目路由出现message: "Navigating to current location (XXX) is not allowed"的问题(点击多次跳转) 参考文章: ...
- Navigating to current location (/login) is not allowed
@[TOC](Navigating to current location ("/login") is not allowed报错) 今天登陆跳转页面直接报错,百思不得其解,主要是 ...
- 解决vue项目路由出现message: Navigating to current location (XXX) is not allowed的问题
今天在写一个后台界面的时候,出现了这个报错,Navigating to current location ("/userslist") is not allowed问题. &quo ...
- Vue 项目路由出现 message: “Navigating to current location (XXX) is not allowed“的问题
message: "Navigating to current location (XXX) is not allowed" 原因: 在路由中添加了相同的路由 解决: 重写路由的p ...
- vue项目路由 Navigating to current location (/xxxx) is not allowed
在使用vue构建项目的时候为了控制页面刷新后路由和界面保持在原来的位置 加了 reloadRouter(path) {this.$router.replace({path: path,query: { ...
最新文章
- 修改所有列_宝塔面板安装完的一些列操作
- CSS权重的等级划分
- 鸿蒙台湾乌龙茶,郭碧婷生女再闹乌龙?向太守口如瓶,向佐有意回避,其实另有隐情...
- Java经典面试题总结(一)
- Android中Cursor类的概念和用法
- 【转】Microsoft Graph 概述
- ElementUI的el-table隐藏id列
- centos7 安装mysql_Centos7安装最新版本的MySQL
- 验证登陆信息的合法性
- [Java] 蓝桥杯ALGO-125 算法训练 王、后传说
- IntelliJ IDEA使用技巧(五)——页面乱码和控制台乱码
- 声音特征提取方法:综述【线性声谱图(Line Spectrum)、对数梅尔谱(Log-mel)、梅尔频率倒谱系数(MFCCs)】
- 报错UnicodeDecodeError ‘gbk‘ codec can‘t decode byte 0x93 in position 7104 illegal multibyte sequence
- 使用python脚本监控服务器显卡使用情况
- 如何更好的保护个人信息
- 使用Visual Studio Code编写markdown文件以及转成PDF格式和markdown常用语法
- 如何申请腾讯云免费ssl证书并部署
- 给王凌打Call的,原来是神奇的智能湖仓
- 【计算机网络】因特网和互联网的区别
- PHP实现RSA算法