若是出現 invalid signature,首先能夠肯定的是你的簽名算法有問題。
建議:首先查看微信官方網站給出的解決方案,連接爲: http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.htmlphp
1. invalid signature簽名錯誤html
建議按以下順序檢查:前端
簽名生成規則以下:
參與簽名的字段包括有效的 jsapi_ticket(獲取方式詳見微信 JSSDK 文檔), noncestr (隨機字符串,由開發者隨機生成),timestamp (由開發者生成的當前時間戳), url(當前網頁的URL,不包含#及其後面部分。注意:對於沒有隻有域名沒有 path 的 URL ,瀏覽器會自動加上 / 做爲 path,如打開 http://qq.com 則獲取到的 URL 爲 http://qq.com/)。
特別注意:你在利用參數生成簽名的時候,要對全部待簽名參數按照字段名的 ASCII 碼從小到大排序(字典序)後,使用 URL 鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串 string1。這裏須要注意的是全部參數名均爲小寫字符。個人最開始的錯誤就是沒有注意到生成簽名的那幾個參數要按照key=value的樣式鏈接成一個字符串,而後在sha1加密生成。ajax
2. 每次後臺網頁更新以後,微信訪問效果沒有出來。
問題:手機端,網頁緩衝致使。
解決方案:重啓手機,再試一下。
3. 微信分享接口,能夠在本身的網頁上面自定義一個按鈕,當用戶點擊的時候完成分享。
問題:我最開始也是這樣想的,後來發現,原來不是這樣的,只有當你用微信客戶端打開,在最上面右邊的 「分享到朋友圈」按鈕按的時候效果纔會出來。
4. 微信圖像接口 permission denied
首先查看微信給出的錯誤說明:該公衆號沒有權限使用這個JSAPI(部分接口須要認證以後才能使用)。
說明:只要經過了公衆號認證,都不會有問題。
檢查對象:若是出現這個說明程序上基本上不會有問題微信後臺已經返回了數據。
第1、要檢查 你的config 文件中相應的 jsapilist 是否包含了該接口算法
wx.config({ debug: false, appId: 'wxf8b4f85f3a794e77', timestamp: 1431058506, nonceStr: 'iXifhx7UzDl5oh32', signature: 'b634291d393a2df268b1654810d68f4f8459e682', jsApiList: [ 'checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem', 'translateVoice', 'startRecord', 'stopRecord', 'onRecordEnd', 'playVoice', 'pauseVoice', 'stopVoice', 'uploadVoice', 'downloadVoice', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'getNetworkType', 'openLocation', 'getLocation', 'hideOptionMenu', 'showOptionMenu', 'closeWindow', 'scanQRCode', 'chooseWXPay', 'openProductSpecificView', 'addCard', 'chooseCard', 'openCard' ] });