angular微信支付url未註冊

angular再作微信支付的時候,參數神馬的都好配置,可是怎麼都沒法到填寫支付密碼的窗口,微信還報了個錯ios

url未註冊,而且微信說的當前頁面的url並不是是支付頁面的urljson

這個問題再微信頁面上刷新一下就行了,可是不能讓用戶去刷新吧!?瀏覽器

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

若是支付的頁面是http://域名/文件A/頁面a微信開發

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

ok,那麼註冊對了,是什麼致使了微信當前url和實際url不一致呢?url

上網查到了,spa

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

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

原來如此!

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

 

相關文章
相關標籤/搜索