javascript - vue.js的路由地址会以#号分隔,有什么办法可以去掉这个#号吗??
阿神
阿神 2017-04-10 17:19:36
[JavaScript讨论组]

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

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

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

阿神
阿神

闭关修行中......

全部回复(5)
黄舟

换个模式就可以了

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

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

黄舟

1.开启html history模式 https://github.com/vuejs/vue-...
2.rewrite url

// nginx例如

location / {
      
                if (!-e $request_filename) {
                        rewrite  ^(.*)$  /index.html?s=$1  last;
                        break;
                }
        }
怪我咯

vue-router2.0 mode: 'history'

天蓬老师

这是微信的 bug ,添加 querystring 即可。

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

迷茫

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号