当前位置:Gxlcms > PHP教程 > javascript-微信JS-SDK使用权限签名算法的疑问

javascript-微信JS-SDK使用权限签名算法的疑问

时间:2021-07-01 10:21:17 帮助过:4人阅读

被签名的字符串为:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW×tamp=1414587457&url=http://mp.weixin.qq.com?params=value

其中url的内容多了“/”,如:
url=http://mp.weixin.qq.com?params=value(无“/”)
url=http://mp.weixin.qq.com/?params=value(有“/”)
就会导致“invalid url domain”错误,为什么?

回复内容:

被签名的字符串为:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW×tamp=1414587457&url=http://mp.weixin.qq.com?params=value

其中url的内容多了“/”,如:
url=http://mp.weixin.qq.com?params=value(无“/”)
url=http://mp.weixin.qq.com/?params=value(有“/”)
就会导致“invalid url domain”错误,为什么?

有人遇到这个问题没?

'/'会导致你传的url中的参数不完整,sdk接收到的url和你实际的url不匹配,当然就会invalid domain了。

这个和你前端把url提交到接口上的方法有关系,简单的说就是url encode一下就可以避免了。有的库比如jQuery或者Zepto可能把encode这一步在ajax中封装了,如果你写的是原生的ajax,可能就漏掉了encode,导致参数传递不完整。

人气教程排行