收藏
回答

页面session失效,重新登录后返回提示页面路径不存在?

我现在在我的资料页面(pages/my/data/index),然后清除服务器端的session,然后开发者工具编译请求接口,此时接口返回3002(session过期),小程序端判断是3002的话则跳转到登录页面(pages/login/index),登录成功后调用wx.navigateBack(),回到前一页。业务逻辑上没问题,但是回到我的资料页面的时候会调用onShow方法(我的获取资料接口请求是写在onReady里面的),我在onShow方法方法里面并没有写任何接口请求,所以页面是返回了但数据没有加载。如果在onShow里面也写了获取我的资料请求的话,页面进入的时候会调用两次,也就是会跳转两次到登录页面,此处不太合理。


重点来了我前一个页面的路径是pages/my/data/index,结果返回的时候却提示我页面路径不存在

WASubContext.js?t=wechat&s=1644839532374&v=2.21.4:2 pages/my/data/index: onShow have been invoked

WASubContext.js?t=wechat&s=1644839532374&v=2.21.4:2 Unhandled promise rejection {errMsg: "navigateTo:fail page "pages/my/data/" is not found"}


话说你这提示的页面路径也不是我的呀,我的最后是带index的


想问下怎么解决这个问题,感谢大佬


回答关注问题邀请回答
收藏

4 个回答

  • 神经蛙
    神经蛙
    2022-02-16

    已经自行解决了,在登录页面的 onUnload方法中执行

    var pages = getCurrentPages();

    var prevPage = pages[pages.length - 2];  //上一个页面

    prevPage.onLoad()

    即可

    2022-02-16
    有用 1
    回复
  • brave
    brave
    发表于移动端
    2022-02-16
    话不多说,上代码片段
    2022-02-16
    有用 2
    回复
  • 生活
    生活
    2022-02-16

    本身跳转两次的逻辑 就有些问题,通常 你可以在接口拦截的地方 做登陆跳转 如果返回未登陆的时候 如果页面里面再次调用权限接口 直接拦截 不做跳转即可

    2022-02-16
    有用
    回复 1
    • 神经蛙
      神经蛙
      发表于移动端
      2022-02-16
      已经解决了 在首次进入的时候调用多个接口的情况下 我只针对其中一个进行判断session过期登录跳转
      2022-02-16
      回复
  • 八九
    八九
    2022-02-16

    代码呢

    2022-02-16
    有用
    回复
登录 后发表内容