手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
摘要:今天偶然的把微信jssdk的debug打开后,发现调试信息总是提示签名错误,感情前两天api的"偶尔"不生效,不是因为还没执行代码,而是因为...

今天偶然的把微信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。

通过此文,希望能帮助到遇到此问题的朋友,谢谢大家对本站的支持!

【微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决】相关文章:

记录几个node.js错误及解决方案

JQuery中DOM加载与事件执行实例分析

AngularJS中的一些常用指令介绍

AngularJs中route的使用方法和配置

JS实现浏览器菜单命令

新闻一段时间向上滚动效果

初步使用bootstrap快速创建页面

解决 FireFox 下[使用event很麻烦] 的问题.

Jquery动态添加输入框的方法

js去字符串前后空格的实现方法

精品推荐
分类导航