微信jssdk太坑了
出现invalid signature
错误的情况真的很迷
- 文档最开始说不需要转义,后来我看到错误相关,说需要
encodeURIComponent(location.href.split('#')[0])
wx.config()
中的nonceStr
与后端进行签名时的noncestr
不一样- 动态获取url这个地方描述的很迷,没明确说明是需要使用后端提供签名的接口还是,前端发起请求时的url
总之就是,要使用ajax
签名,前端需要encodeURIComponent(location.href.split('#')[0])
将当前url作为参数,传入后端签名接口,后端如果是php,需要urldecode($_GET['url'])
,再来获取jsapi_ticket
进行签名,返回参数