微信扫一扫JSSDK 扫一扫报错 invalid signature 问题
交代一下业务场景




在在四个页面都需要用到扫一扫去扫二维码。然而在图三-我的订单 下单中这个页面扫一扫不起效,当时就郁闷了为啥其他页面有用,这里却没用,开始调试吧。

报错信息是签名验证不成功。
自己去打印出四个页面的每个页面的url发现了。下单中那个页面的url 不同之处,因为不同订单状态甚至本周本月的跳转都是往这个页面,所以url查询参数带了一大堆。

那我就索性去掉?后面的参数再传Url去初始化接口,结果还是报错。
到处查看别人的博客才发现一个问题,&menuTitle = 巴拉巴拉 ,因为没有对这个路径进行encodeURIComponent.所以后台将'&menuTitle =巴拉巴拉'单独看成了一个查询字符串参数,导致签名设置的路径与当前路径不一样。
解决方法:使用encodeURIComponent(location.href.split('#')[0])

总结:当页面带查询参数或者哈希值(#后面的参数)都需要使用 encodeURIComponent 去编码传送。
微信扫一扫JSSDK 扫一扫报错 invalid signature 问题的更多相关文章
- 在做微信分享到朋友圈时,手机扫码报config:invalid signature,分享后后正常的问题,是url问题
		是按照以下步骤检查的 除了ACCESS_TOKEN没有缓存其他都可以 如果是invalid signature签名错误.建议按如下顺序检查: 1.确认签名算法正确,可用 http://mp.weixi ... 
- 微信SDK  报错 invalid url domanin
		刚开始我在安全JS域名下填写: Http://hgj123.8.yydns.pw 带了Http 在微信中开打自己写好demo.报invalid url domanin 说我的无效URL. 然后我在 ... 
- (转)微信调用扫码和支付功能是都报错 the permission value is offline verifying
		原文地址:https://blog.csdn.net/qq_34794885/article/details/98504970 
- 微信支付报错:Invalid thumbnail dimensions: 0x0
		微信支付的 android 端在支付的时候闪退, 调试信息: 10-08 10:17:08.459 2127-3946/? E/ActivityManager: Invalid thumbnail d ... 
- 记录laravelchina中的微信小程序教程的npm install安装报错
		npm安装报错时 npm ERR! code EIOnpm ERR! syscall symlinknpm ERR! path ../@babel/parser/bin/babel-parser.js ... 
- 调用微信扫一扫功能,踩坑'invalid signature'
		在vue项目中,调用微信扫一扫功能,在安卓系统下完全正常,ios系统下却报错'invalid signature'的错误,这可能令许多小伙伴困惑,经过查询大量博客相关资料,才找到了解决的方法. 原因: ... 
- 微信小程序地图报错——ret is not defined
		刚刚在使用微信的map做地图时候 发现如下报错: 后来找了一会发现错误为经纬度写反了导致经纬度超出了范围 正确取值范围: latitude 纬度 浮点数,范围 -90 ~ 90 longitud ... 
- 微信 AES 解密报错 Illegal key size 三种解决办法
		微信 AES 解密报错 Illegal key size Java 环境 java version "1.8.0_151" Java(TM) SE Runtime Environm ... 
- 微信小程序使用场景延伸:扫码登录、扫码支付
		微信小程序使用场景延伸:扫码登录.扫码支付 小程序最适合的使用场景有哪些?相比大家能列举出来很多,但这个场景,大家可能多数没想到_^ 笔者团队近期接到了一个PC项目:转转游戏租号PC官网,该项目要求在 ... 
随机推荐
- JVM笔记1-内存溢出分析问题与解决
			假设我们项目中JVM内存溢出了,大项目中上百万行代码,是很难定位的.因此我们需要借用一个Memory Analyzer工具, 官网地址为:http://www.eclipse.org/download ... 
- 转  Caffe学习系列(3):视觉层(Vision Layers)及参数
			所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数 本文只讲解视觉层(Vision La ... 
- MSQL的基准测试
			Mysql基准测试 基准测试 直接.简单.易于比较,用于评估服务器的处理能力 压力测试 对真实的月数据进行测试,获得真是系统所能承受的压力 基准测试的目的 1.建立MySQL服务器的性能基准线 2.模 ... 
- 好用的Markdown编辑器汇总
			Markdown 是一种简单的.轻量级的标记语法.用户可以使用诸如 * # 等简单的标记符号以最小的输入代价生成极富表现力的文档. Markdown具有很多优点: 写作中添加简单符号即完成排版,所见即 ... 
- ORA-00900: invalid SQL statement
			1.错误描述 SQL> startup; startup ORA-00900: invalid SQL statement 2.错误原因 3.解决办法 
- Linux系统安装软件出错
			root@youhaidong-Edge-E545:/home/youhaidong# apt-get install install_flash_player_11_linux.x86_64.tar ... 
- 多线程下不重复读取SQL Server 表的数据
			在进行一些如发送短信.邮件的业务时,我们经常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送,发送完成后再将数据转移到历史表中,这样保证待发送表的数据一般情况下不会太 ... 
- spring+jidi读取property的配置文件
			在Spring项目中,你可能需要从properties文件中读入配置注入到bean中,例如数据库连接信息,memcached server的地址端口信息等,这些配置信息最好独立于jar包或者war包, ... 
- 纯CSS实现二级导航下拉菜单--css的简单应用
			思想:使用css的display属性控制二级下拉菜单的显示与否.当鼠标移动到一级导航菜单的li标签时,显示二级导航菜单的ul标签.由于实现起来比较简单,所以在这里直接给出了参考代码. 1.纯CSS二级 ... 
- JavaScript之中级教程关键
			Date() setTime()getTime()toUpperCase() toLowerCase() charAt() 返回指定的字符,返回的字符长度为1的字符串. indexOf('需要检索的字 ... 
