微信开发报错errMsg : config:invalid signature解决办法

首先,可以先使用签名校验工具检验一下生成的signature是否和自己生成的结果一致。

既然报了这个错误,那自然是自己的结果和这个结果不一样了。

一般导致这个问题的原因是参与签名的url地址不正确,需要动态地获取完整的url地址(包括后面的参数,但是不能包含#号)。例如一个url地址为http://www.example.com/sd/sw?a=1&b=2#id=10,那么完整的url地址应该是截取#号之前的所有部分。为什么会出现#号呢?因为你的URL在被分享到朋友圈等微信系统自动会添加一些参数。

所以,需要在前端动态地将正确的url地址传递到后端。例如使用jQuery ajax的形式

$.ajax({
    url: '生成签名的地址',
    type: 'POST',
    data: {
      url: location.href.split('#')[0]
        },
    success: function(data) {
      jscallback(data);
    }
});
如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注