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


Posted in Javascript onSeptember 09, 2016

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

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

Javascript 相关文章推荐
js玩一玩WSH吧
Feb 23 Javascript
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
js中各浏览器中鼠标按键值的差异
Apr 07 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
May 20 Javascript
JavaScript类型系统之布尔Boolean类型详解
Jun 26 Javascript
利用jQuery实现打字机字幕效果实例代码
Sep 02 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
Nov 22 Javascript
在一个页面重复使用一个js函数的方法详解
Dec 26 Javascript
angular实现spa单页面应用实例
Jul 10 Javascript
Vue中使用Sortable的示例代码
Apr 07 Javascript
Angular ElementRef简介及其使用
Oct 01 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
Sep 12 Javascript
Vuejs第十三篇之组件——杂项
Sep 09 #Javascript
jQuery属性选择器用法示例
Sep 09 #Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
Sep 09 #Javascript
vuejs动态组件给子组件传递数据的方法详解
Sep 09 #Javascript
Vuejs第十二篇之动态组件全面解析
Sep 09 #Javascript
js动态生成form 并用ajax方式提交的实现方法
Sep 09 #Javascript
Ajax使用原生态JS验证用户名是否存在
May 26 #Javascript
You might like
用PHP和ACCESS写聊天室(十)
2006/10/09 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
php-msf源码详解
2017/12/25 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
ExtJs的Date格式字符代码
2010/12/30 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
JS常用知识点整理
2017/01/21 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
Python 含参构造函数实例详解
2017/05/25 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
python http接口自动化脚本详解
2018/01/02 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
2014年最新学习全国两会精神心得
2014/03/17 职场文书
大学校务公开实施方案
2014/03/31 职场文书
10的分与合教学反思
2014/04/30 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
学校教学管理制度
2015/08/06 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
JS 基本概念详细介绍
2021/10/16 Javascript