踩坑系列报错:Uncaught (in promise) Error: Redirected when going from “/login?redirect=%2Fabout“ to “/“ via

参考链接:https://blog.csdn.net/qq_42805569/article/details/111238634
原因:vue-router路由版本更新产生的问题,导致路由跳转失败抛出该错误,但并不影响程序功能

解决方案一、

使用编程式导航跳转时,每次使用,后面都跟上.catch方法,捕获错误信息
this.$router.push('/location').catch(err => ())

解决方案二、

全局解决:替换路由的Push和replace方法,放在src/router/index.js中:

import Router from 'vue-router'

const originalPush = Router.prototype.push
Router.prototype.push = function push(location, onResolve, onReject) {
  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
  return originalPush.call(this, location).catch(err => err)
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 这个错误是因为在使用导航守卫时,从"/login"页面跳转到"/home"页面时发生了重定向。可能是因为您的导航守卫设置有误或者您的路由配置有问题。您可以检查一下您的导航守卫和路由配置,看看是否有错误。 ### 回答2: 这个错误是由于路由导航守卫 (navigation guard) 的重定向 (redirect) 执行不成功导致的。在这种情况下,用户试图从 "/login" 页面跳转到 "/home" 页面,但是路由导航守卫检测到用户没有登录,需要重定向到登录页面。然而,在重定向到登录页面时,出现了一个错误,也就是 "uncaught (in promise) error: redirected when going from "/login" to "/home" via a navigation guard.",意思是在执行导航守卫重定向时,出现了一个未捕获的错误。 这个错误的原因可能有很多种,比如说: 1. 用户没有登录。这是最常见的原因,当用户试图进入特定页面时,需要检查用户是否已经登录。如果没有登录,就会自动重定向到登录页面。如果登录页面本身存在问题,就会出现上述错误。 2. 路由配置错误。有时候路由配置可能会出现问题,比如配置了错误的路由重定向,或者未正确配置路由导航守卫。 3. 编程错误。开发人员可能会在代码中犯一些错误,比如格式错误、语法错误或逻辑错误等,这些错误可能会导致导航守卫重定向失败。 针对这个错误,我们可以采取以下措施: 1. 确保登录页面的代码没有问题,比如检查代码是否正确、登录逻辑是否正常等。 2. 检查路由配置,确保路由重定向配置正确,并正确配置路由导航守卫。 3. 检查代码逻辑,查看是否有导致导航守卫重定向失败的错误。 4. 添加错误处理机制,能够及时捕获错误并进行处理。 总之,当出现 "uncaught (in promise) error: redirected when going from "/login" to "/home" via a navigation guard." 错误时,我们需要仔细检查,并在问题解决后及时更新代码。 ### 回答3: 在进行路由导航时,用户经常会遇到“未捕获的(在promise中)错误:在导航守卫中,从“/login”重定向到“/home””的错误提示。 这个错误通常是由于导航守卫的代码逻辑判断出错所导致的。导航守卫是Vue.js框架中一个重要的特性,它允许开发者在路由导航之前或之后进行一些操作、钩子拦截等。而这个错误是由于在导航守卫中,从/login到/home的判断逻辑错误导致的路由重定向。 解决这种错误的方法通常有以下几个步骤: 1. 检查导航守卫中的逻辑错误。通常这个问题在代码逻辑或者执行顺序错误时会出现。我们要仔细研究导航守卫的代码,看看是否有判断条件错误、语句顺序错误等问题。 2. 检查路由的配置。我们应该检查路由的配置,确保路由配置文件中的路径和导航守卫中的路径是一致的。如果路径不正确,那么就会出现路由重定向的错误。 3. 检查路由组件中的代码。我们需要检查路由组件中的代码,看看是否有更新路由数据的方法、改变了路由状态或者重定向功能等,如果有那么我们应该需要正确地处理这些功能。 总之,“未捕获的(在promise中)错误:在导航守卫中,从“/login”重定向到“/home””通常会发生在路由导航过程中,常见的原因是导航守卫逻辑出错,路由配置错误或者组件代码逻辑出错。我们只需要检查这些问题,并尝试修复它们,就可以解决这个问题了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值