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

 更新时间:2016年09月09日 10:09:59   投稿:lqh  
本文主要介绍微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决,这里提供了详细的操作方式,有需要的小伙伴可以参考下

今天偶然的把微信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利用ui-route异步加载组件

    详解angularjs利用ui-route异步加载组件

    本篇文章主要介绍了详解angularjs利用ui-route异步加载组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 详解什么是@ngrx/store开发包中的MemoizedSelector

    详解什么是@ngrx/store开发包中的MemoizedSelector

    这篇文章主要为大家介绍了@ngrx/store开发包中的MemoizedSelector使用分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • AngularJS辅助库browserTrigger用法示例

    AngularJS辅助库browserTrigger用法示例

    这篇文章主要介绍了AngularJS辅助库browserTrigger用法,结合实例形式分析了辅助库browserTrigger的功能及单元测试中的使用技巧,需要的朋友可以参考下
    2016-11-11
  • AngularJS基础教程之简单介绍

    AngularJS基础教程之简单介绍

    本教程旨在帮助你尽可能快速而有效地学习AngularJS。通过该教程你会学习到AngularJS的一些基本特性,例如指令、表达式、过滤器、模块和控制器等。以及其它所有你需要知道的有关AngularJS的东西,如事件、DOM节点、表单、用户输入、数据验证、Http对象等。
    2015-09-09
  • 对比分析AngularJS中的$http.post与jQuery.post的区别

    对比分析AngularJS中的$http.post与jQuery.post的区别

    这篇文章主要给大家对比分析AngularJS中的$http.post与jQuery.post的区别,十分的详细,是篇非常不错的文章,这里推荐给小伙伴们。
    2015-02-02
  • Angular6实现拖拽功能指令drag实例详解

    Angular6实现拖拽功能指令drag实例详解

    这篇文章主要为大家介绍了Angular6实现拖拽功能指令drag实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Angular4实现图片上传预览路径不安全的问题解决

    Angular4实现图片上传预览路径不安全的问题解决

    这篇文章主要给大家介绍了关于Angular4实现图片上传预览路径不安全问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2017-12-12
  • Angular发布1.5正式版,专注于向Angular 2的过渡

    Angular发布1.5正式版,专注于向Angular 2的过渡

    Angular团队最近发布了Angular 1.5的正式版,该版本实现了一次重大的升级,它让仍在使用1.X版本的开发者将能够更容易地过渡到Angular 2的开发
    2016-02-02
  • angularjs 中$apply,$digest,$watch详解

    angularjs 中$apply,$digest,$watch详解

    这篇文章主要介绍了angularjs 中$apply,$digest,$watch详解的相关资料,需要的朋友可以参考下
    2016-10-10
  • 使用AngularJS制作一个简单的RSS阅读器的教程

    使用AngularJS制作一个简单的RSS阅读器的教程

    这篇文章主要介绍了使用Angular.js制作一个简单的RSS阅读器的教程,AngularJS是一个非常有人气的JavaScript库,文中介绍的制作方法主要使用到了FreedReadR模版,需要的朋友可以参考下
    2015-06-06

最新评论