javascript - vue.js的路由地址会以#号分隔,有什么办法可以去掉这个#号吗??

 熊熊粉丝6888 发布于 2022-11-18 11:17

1.在用vue.js做微信公众号支付的时候碰到了很奇怪的问题,并且只有android系统会发生这种问题:get_brand_wcpay_request:fail 这个错误是因为授权目录填写错误导致的,授权目录整个链接中都不能出现#号哦,这个是微信支付官方不支持。相同的请求ios系统不会有任何问题,正常调起微信支付。而android则不行,得到的回复就是前面的描述。ps:我的微信授权目录配置没有任何问题,也不存在#号,只是vue.js的整个支付link存在路由的#号

2.所以首先我会考虑前端有没有什么方法可以去掉,或者改变路由地址以#号分隔这个问题。

3.如果前端不行,我看了HTML5 History Mode是否能够解决这个问题。文档给的信息很少,也没有说清楚是怎么解决的。希望能够得到答案

5 个回答
  • 楼上正解,在#号前面加上一个?号即可解决,换成history好像会遇到其他问题(印象中是安卓行ios不行或者反过来),总之我是加了?号后成功支付了

    2022-11-18 11:42 回答
  • 这是微信的 bug ,添加 querystring 即可。

    http://example.com/?#/path/to/pay

    2022-11-18 11:42 回答
  • vue-router2.0 mode: 'history'

    2022-11-18 11:42 回答
  • 1.开启html history模式 https://github.com/vuejs/vue-...
    2.rewrite url

    // nginx例如
    
    location / {
          
                    if (!-e $request_filename) {
                            rewrite  ^(.*)$  /index.html?s=$1  last;
                            break;
                    }
            }
    
    2022-11-18 11:42 回答
  • 换个模式就可以了

    const router = new VueRouter({
      mode: 'history',
      routes: [...]
    })

    http://router.vuejs.org/en/es...

    2022-11-18 11:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有