angular微信支付url未注冊


angular再做微信支付的時候,參數神馬的都好配置,但是怎么都無法到填寫支付密碼的窗口,微信還報了個錯

url未注冊,並且微信說的當前頁面的url並非是支付頁面的url

這個問題再微信頁面上刷新一下就好了,但是不能讓用戶去刷新吧!?

好吧,看下配置的url,是沒錯的

如果支付的頁面是http://域名/文件A/頁面a

那么注冊的頁面就應該是http://域名/文件A/,總之是支付頁面的上一級就對了

ok,那么注冊對了,是什么導致了微信當前url和實際url不一致呢?

上網查到了,

angular是屬於spa應用也就是單頁面,頁面跳轉是通過路由來操作的,微信瀏覽器內核無法識別,但是微信開發者是正常的。

解決方法:跳轉路由的時候不用angular內置的跳轉$scope.$state.go而是使用window.location.href,網頁鏈接不正確的問題就解決了

原來如此!

window.location.href會在跳轉的時候加上刷新功能,好吧,這樣返回鍵就失效了,還要重寫返回的事件,不過事實能不能解決主要問題。

bingo!安卓OK了,ios還是報之前的錯,看了一下原來跳轉了沒刷新,看來angular+ios+微信=fuck

之后又嘗試了后台重定向跳轉,用$window.location.href,用頁面加參數的方法跳轉,都失敗了

下面才是正文!

 


 

最終問題出在項目的路由上,報錯里的url是mine/:token/:url(token和url是頁面傳值的參數)

好吧,微信把angular帶參數的路由視為路徑了,而正確的url應該到mine就ok

解決方法:將路由配置

 

   改為    

token和url放在  mine?token=&url=  這樣就認識url中的參數了,通過angular方法var search = $location.search();

拿到json數據{token:'',url:''},這樣就解決了上述問題,頁面也沒有刷新,用a標簽跳轉就ok

 


免責聲明!

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



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