收藏
回答

微信公众号授权的redirect_url中有#,但是为什么在重定向回来的时候#后的内容到参数中去了?

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

7 个回答

  • 擎
    2020-10-27

    由于微信自动带hash重定向地址 ,如: 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect',重定向的hash地址就会放在#wechat_redirect 位置 导致不管是nginx或者重定向都会产生hash地址在后面,其实用window.history.pushState 无刷新当前href地址就完美解决问题了 写法借鉴下http://blog.tianlinyong.cn/2017/12/01/Vue%E5%BE%AE%E4%BF%A1%E6%8E%88%E6%9D%83/,还蛮好的

    2020-10-27
    有用 2
    回复
  • 耿直的boy.
    耿直的boy.
    2020-07-28
    encodeURIComponent(url)就可以了
    
    2020-07-28
    有用 2
    回复 1
    • 渡.
      渡.
      2020-12-16
      试了,不行
      2020-12-16
      回复
  • Listen
    Listen
    2020-05-20

    回调回来要自己重新组装url 没办法 这是使用hash的弊端

    const w = location.href.indexOf('?');
    const j = location.href.indexOf('#');
    let href = window.location.href;
    // 处理微信回调url
    if (w !== -1 && j > w) { 
      href = location.href.substr(0, w) + location.href.substr(j, location.href.length) + location.search;
     location.href = href;
    }
    
    2020-05-20
    有用 2
    回复 5
  • 枫之韵
    枫之韵
    04-24

    用nginx转发可以解决

    location /cms/user/social {
      return 301 /cms/#/user/social?$args;
    }
    


    04-24
    有用
    回复
  • 庞小勇
    庞小勇
    2023-10-19
    我也遇到了同样的问题,我在nginx里配置后不生效。依旧404。
    
    2023-10-19
    有用
    回复
  • 997/
    997/
    2022-05-10

    解决了吗

    2022-05-10
    有用
    回复
  • 💓哼。
    💓哼。
    2021-09-23

    请问楼主解决了该问题吗?现在正遇到同样的问题

    2021-09-23
    有用
    回复
登录 后发表内容
问题标签