微信公众号 JSSDK 提示:invalid signature

要命的invalid signature。其实腾讯的文档已经写了,只能怪我自己理解能力太差,掉了好几次坑。

    • 签名要用到的jsapi_ticket需要保存的,2小时有效期。如果在2小时内出现问题需要删除才能工作,一般是自身程序的问题,请检查。

    • nonceStr和noncestr的大小写,当心!

    • url一定要当心,如果是"http://x.com/jspay?oid=0&attr=1#wechat"的形式,那么应该保留的是"http://x.com/jspay?oid=0&attr=1"。

    • 据此,url在JavaScript中是location.href.split('#')[0]获取。

    • 据此,url在php中用$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]拼装,

    • 据说会有多余的80端口问题,但是记录者没有遇到过,总之请小心。

    • url在JavaScript中千万别忘记“encodeURIComponent”!否则后果很诡异,遇到过初始化的时候报invalid
      signature,但是API接口又能调用的情况。

posted @ 2017-09-07 18:22  左正  阅读(664)  评论(0编辑  收藏  举报