微信小程序雲開發報錯解決: Setting data field "openid" to undefined is invalid.


 

最近在學習微信小程序雲開發,剛一開始就遇到了問題。

點擊獲取openid的時候控制台開始報錯:

[雲函數] [login] user openid:  undefined

VM97:1 Setting data field "openid" to undefined is invalid.

 

然后我開始去百度搜索解決這個問題,各種方法都試過了,還是沒有解決。換了一個思路,開始追蹤代碼:

 

鼠標懸停到右邊的 index.js:55,發現是/pages/index/index.js文件的第55行報的錯誤,我們打開這個頁面看看:

 

發現是在控制台打印了res.result.openId,這個變量是undefined,為了查看具體原因,我們先打印一下res里的東西吧,

在后面加一行代碼:console.log(res) 看打印的是什么東西:

我們再編譯一下看控制台打印的結果:

 

 

從結果里可以看到,獲取openId的接口調用是成功的,只不過openId字段的位置在result下的userInfo下,而之前代碼是通過result下來訪問openId字段的,所以會出現未定義的問題,猜測可能是由於騰訊接口調整導致的問題。至此,真相大白。我們去修改一下/pages/index/index.js文件的第55、56行,改成如下:

console.log('[雲函數] [login] user openid: ', res.result.userInfo.openId)
app.globalData.openid = res.result.userInfo.openId

  

最后,再編譯一下,問題成功解決!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM