通過官方的例子就能配置成功,需要注意session_key,$encryptedData和$iv一定要嚴(yán)格對應(yīng),如果沒有對應(yīng)就無法解密并返回錯誤碼:-41003. 這個問題調(diào)整了兩三天,才發(fā)現(xiàn)是調(diào)試時把$encryptedData寫死了,所以才出現(xiàn)這個問題。
引入微信加密數(shù)據(jù)解密后,返回的數(shù)據(jù)一直報SyntaxError: Unexpected token in JSON at position 0,無法解析成json對象。一般的如果是數(shù)據(jù)格式錯誤的話,token后面會有錯誤的字符,奇怪的是這個沒有。折騰了一下午,后來通過調(diào)試后發(fā)現(xiàn),在服務(wù)器返回的數(shù)據(jù)前面多了幾個一般情況下看不到的空格,上圖:

這個空格在編輯器里是看不到的,就是這個空格把所有的東西都改變了。打印出來的內(nèi)容變成了這樣:
data:"?{\"code\":200,\"message\":\"user login success!\",\"data\":\"<''\"}"
??????而正常情況下是:
data:{"code":200,"message":"user login success!","data":"<''"}
解決方法:把從微信官方提供的解密文件轉(zhuǎn)換成“以UTF-8無BOM格式編碼”即可神奇的解決這個問題。
轉(zhuǎn)換后調(diào)試結(jié)果,JSON也能正常解析了。
