微信+angularJS的SPA應用中用router進行頁面跳轉,jssdk校正失敗問題解決_AngularJS

來源:互聯網
上載者:User

今天偶然的把微信jssdk的debug開啟後,發現調試資訊總是提示簽名錯誤,感情前兩天api的"偶爾"不生效,不是因為還沒執行代碼,而是因為簽名沒正確啊!,這就是個100%可以重現的錯誤

但只要這個SPA剛重新整理過,或載入完後中途沒有跳轉,,簽名就會是正確的。

而當路由發生改變,我們對新"跳轉"的頁面重新簽名之後,卻出現了簽名錯誤,而我們的簽名明明是正確的,把各種參數拿去微信JS簽名校正工具(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign)去比對是一樣的!

後面重大發現。。。其實

只要載入SPA入口頁面的時候簽名一次就行了,因為微信拿來簽名的URL好像只認這個SPA第一個載入的頁面的URL。。。window.location.href跳轉其實就相當又載入了一次SPA

曾以為路由跳轉了,就應該拿新的url去重新簽名,卻恰恰因為這點,把簽名校正給搞出錯了。。

所以解決方案就是:

只簽名第一個載入的頁面就行了,用ui-router進行的跳轉,似乎只是改了地址。。而這個地址的修改。。微信的簽名似乎不認。。他就認第一個載入的頁面的URL。

通過此文,希望能協助到遇到此問題的朋友,謝謝大家對本站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.