用户
 ?#19968;?#23494;码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 查看内容

微信小程序云开发报错解决: Setting data field "openid" to undefined is invalid. ...

Rolan 2019-8-27 00:43

最近在学习微信小程序云开发,刚一开始就遇到了问题。点击获取openid的时候控制台开始报错: user openid: undefinedVM97:1 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) ?#21019;?#21360;的是什么东西:

我们再编译一下看控制台打印的结果:

 

 

从结果里可以看到,获取openId的接口调用是成功的,只不过openId字段的位置在result下的userInfo下,而之前代码是通过result下来访问openId字段的,所以会出现未定义的问题,猜测可能是由于腾讯接口调整导致的问题。至此,真相大白。我们去修改一下/pages/index/index.js文件的第55、56行,改成如下:

1
2
console.log('[云函数] [login] user openid: ', res.result.userInfo.openId)
app.globalData.openid = res.result.userInfo.openId

  

最后,再编译一下,问题成功解决!


鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: 心的开始~ 来自: cnblogs
不朽的浪漫援彩金