實際上,在開發微信應用的過程當中,轉發給朋友和分享到朋友圈,常常發生簽名驗證失敗的問題。php
簽名驗證失敗,大部分是url不符合形成的。
好比 http://www.hisn.cn/index.php?d-12=&from=tamp
這樣的連接。
在後臺的時候,用 $url =’http://’. $_SERVER[‘HTTP_POST’].$_SERVER[‘REQUEST_URI’];
通常都是上面的那樣的連接。前端
可是由於微信取值,用的是 location.href.split('#')[0] 這樣的。
而window.location.href 這樣取值,有時會帶有 index.php 而有時又不帶有 index.php,這就致使在作微信簽名的時候,先後連接不統一的問題,致使簽名驗證失敗。微信
因此要在前臺調用微信jssdk以前對location.href進行處理,我是這樣作的:url
var locationUrl = window.location.href; if(locationUrl.indexOf('index.php')==-1){ window.location.href = 'http://www.hisn.cn/index.php'+window.location.search; }
這樣,假如前端js獲取連接的時候不帶有index.php的時候,就自動調轉到帶有的連接上,就OK了。 code
就保證,分享二次轉發等,順利轉發!!開發