微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决_AngularJS

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

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

时间: 2024-11-05 13:54:49

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

Angular中使用ui router实现系统权限控制及开发遇到问题_AngularJS

前端去实现权限控制听起来有点扯淡(实际也有点扯淡),掩耳盗铃,主要是担心安全问题,但是如果在前后端分离的情况下,需要做一个带有权限控制的后台管理系统,angular基于ui-router应该怎么做呢? 权限的设计中比较常见的就是RBAC基于角色的访问控制,基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合.每一种角色对应一组相应的权限. 一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限.这样做的好处是,不必在每次创建用户时都进行分配

dns劫持-通过微信朋友圈和QQ浏览器打开的页面是如何避免被dns或arp攻击的?

问题描述 通过微信朋友圈和QQ浏览器打开的页面是如何避免被dns或arp攻击的? 用手机浏览器或app打开页面,有时会出现一个漂浮或别的广告,非应用本身推送的广告,而是dns或arp攻击,但是微信朋友圈和QQ浏览器打开的网页不会出现这种有浮层的干扰广告.求问这个是怎么实现的,是不是app定义了dns,就像360浏览器自己定义的域名寻址?

网页-微信内置浏览器是否不允许用location跳转到其他网站?

问题描述 微信内置浏览器是否不允许用location跳转到其他网站? 我在网页中使用了window.location.href跳转到其他网站,用桌面浏览器和手机浏览器试验过都OK. 但是将网页放到微信公众号上后,这个功能就无法正常使用了. 在跳转的js之前, 我使用了window.opener来获取一些信息.是否在微信内置浏览器无法获取 window.opener呢?如果是这个原因 我用iframe来显示第三方网页是否可行? 解决方案 微信内置浏览器对js支持有限,opener目测是不支持,要是

微信公众号实现群发图文,点击跳转指定网页功能

问题描述 微信公众号实现群发图文,点击跳转指定网页功能 这个功能要怎么实现,是主动群发,不是接收用户后的回复主动发送一个有图标,标题和描述的图文,用户点击图文跳转的是我们指定的地址求教要如何实现? 解决方案 1.楼上的请看清问题好不好,人家要跳转到_指定网页_:2.应该是需要调用高级接口的,用微信自身提供的管理后台无法做到. 解决方案二: http://download.csdn.net/detail/zuopeng_happy/5986107 开发的话这个可以借鉴一下 不开发的话 微信公众平台

微信公众平台开发-微信公众平台开(echostr校验失败,请您检查是否正确解密并输出明文echost)

问题描述 微信公众平台开(echostr校验失败,请您检查是否正确解密并输出明文echost) 开发-微信公众平台开(echostr校验失败,请您检查是否正确解密并输出明文echost)-echostr校验失败">企业号开启回调模式 echostr校验失败,请您检查是否正确解密并输出明文echostr 在新浪日志中看到签名验证失败,ase解密失败 .大牛们能不能解决呀.用的是Java 开发 解决方案 这个能解决么:http://www.cnblogs.com/txw1958/p/token

ios-关于微信里面页面跳转的实现原理

问题描述 关于微信里面页面跳转的实现原理 微信 通讯录 点好友 ->详细资料 -> 发消息 (push)-> 聊天界面 但返回的是 聊天记录,而不是 好友的详细资料,这个是怎么实现的? 解决方案 连续pop两次,或者调用popToRootViewControllerAnimated直接到了根控制器 解决方案二: [self.navigationController popToRootViewControllerAnimated:YES]; [[NSUserDefaults standar

微信公众平台 二维码扫描关注并跳转到url

问题描述 微信公众平台 二维码扫描关注并跳转到url 微信中扫描二维码,可以实现扫描后需要先 关注该公众账号,关注后后自动跳转到指定url(在微信浏览器中打开的.) 请问这种业务如何实现的? 微信官方api提供可以生成带场景值的二维码,扫描后先关注,关注成功微信服务器是向开发者服务器发送场景值:我的需要是关注成功后微信服务器给用户返回指定url~ 我发现很多人提出相同问题,却没找到相关资料~求大神帮忙! 解决方案 我们这本地的一个平台已经实现了,扫一个商家的二维码,能自动关注平台,关注以后,自动

微信企业号-微信公众平台企业号echostr校验失败

问题描述 微信公众平台企业号echostr校验失败 拜求各路大神,解决我的问题:echostr校验失败,请您检查是否正确解密并输出明文echostr.如果有会的,麻烦您帮我解决.也可以直接联系我哦,qq:1023137166在此先谢过走过的.路过的各位了. 解决方案 现在解决了吗,我现在也碰到了同样的问题

华为 动画效果 无效-android 仿微信在application里面设置页面跳转动画的theme 有些机型没有效果

问题描述 android 仿微信在application里面设置页面跳转动画的theme 有些机型没有效果 想做一个仿微信的左右切换动画,根据这篇文章的写法 ,发现,华为p7 系统是4.4.2 上面,根本不起作用,还是手机默认的动画效果,只有在代码里写 override 动画才起作用,求解决方案