心好累,两天了。总是这个错误!
贴一下后台的打印,前台的打印,报错的信息。
jsapi_ticket:IpK_1T69hDhZkLQTlwsAX-mH_18Uyfme0Wr7TmuOGnwlAYQ2vHhLsR8DHjLOAChBFNIsT0NPFFyOxy6p2BL0gQ
url:http://ym.15822255455.com/chezhihui/wechat/home.html
string1:jsapi_ticket=IpK_1T69hDhZkLQTlwsAX-mH_18Uyfme0Wr7TmuOGnwlAYQ2vHhLsR8DHjLOAChBFNIsT0NPFFyOxy6p2BL0gQ&noncestr=832049ec69942b72×tamp=1569671258&url=http://ym.15822255455.com/chezhihui/wechat/home.html
signature:1aae25e4c7881c9f371c15bf679169d9e76a6dc5
json:{"debug":true,"jsApiList":["chooseWXPay","getLocation","scanQRCode"],"signature":"1aae25e4c7881c9f371c15bf679169d9e76a6dc5","appId":"","nonceStr":"832049ec69942b72","timestamp":"1569671258"}
哪个大神能帮忙解答一下吗?
问题是这样的
如果生成签名的 url 是后端自动获取的比如是c.php这个文件,url就是http://域名/c.php。
如果你是前端通过ajax获取签名,比如a.html发送ajax请求到后端,那么你签名的url应该为http://域名/a.html而不是后端自己获取的http://域名/c.php。
所以如果你是通过ajax获取jssdk的信息,应该传当前页面的地址到后端。
你下面生成签名的 url 是没有 /wechat/home.html 的,而调用时地址是有带 /wechat/home.html 的。
刚解决,排查了安全域名,后台签名生成规则与官方工具校验生成一致都没问题情况下,解决方案如下:
调用接口生成签名时,需要将调用wx.config的页面的链接完整的值传给后端去生成签名。
需要 url = window.location.origin + window.location.pathname + window.location.search
ip白名单和js安全接口都要加才行
楼主你好,我也遇到了这个问题,昨天弄一天还是这样的 现在卡在这里了 。请问下楼主是怎么解决的呀,你在吗?回复一下, 我给你上后端代码看看, 可以吗 ?感谢求助
兄弟你的解决了吗,你分享出去之后的页面,再打开刚分享的页面,页面会跳转吗
兄弟,问题解决了吗?今天我也遇到这个问题了
同学,问题解决了吗,我是在微信开发者工具上ok,在移动端抱错 invalid signature
我也报这个错误 我是前端 以前也没弄过 这是怎么回事啊 该怎么弄
本来想骂人,不过搞定了心情特别好,所以就不骂人了。
反正就是坑。不要相信是url的问题
问题点:
在获取jsapi_ticket的时候,https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=access_token&type=jsapi
在微信的js接口当中 type不是固定的,微信也不会告诉你是干什么的。反正你自己猜测就好了。
type=jsapi获取的是 wx.config使用的
type=wx_card获取的是卡包使用的