hash模式路由下因#號導致微信支付報‘當前頁面url未注冊’


開發微信公眾號遇到使用微信支付,

首先,出現這個提示,先確認在微信公眾平台上配置微信支付的回調url,具體配置規則按照平台的要求來

其次,配置好了,仍然出現這個提示,有可能是在使用路由的時候是‘hash’模式,可以改成‘history’模式,這樣url上的#就去掉了,但是需要服務端做相應配置。

然而,有些情況我們必須使用hash模式,例如我們這個項目是一個vue的項目,需要打包之后發給后端同學,他們把前端的頁面放在公眾號這個項目里,然后他們的打開鏈接就成了:“相對目錄/index.html#/當前頁面路由”,例如:https://xxxx.com/repay/index.html#/repaymentOrder 這是一個公眾號還款訂單頁的打開鏈接,在當前頁面調起微信支付時,需要在頁面鏈接#號前加?,這樣微信會把?號后面的當做是參數,就不會報錯了。代碼如下:

  
   let url = window.location.href;
    if(!url.match(/\?/)) {
       location.replace(window.location.href.split('#')[0] + '?' + window.location.hash);
     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM