微信小程序云开发报错解决: 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

  

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

原文地址:https://www.cnblogs.com/xindekaishi/p/11313052.html

时间: 2024-10-04 01:39:12

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

微信小程序云开发

使用微信小程序云开发,可以不需要后端的参与,前端直接使用数据库. 第一步,新建一个空的云开发项目 在project.config.json 文件可以看见 "miniprogramRoot": "miniprogram/",   表示为小程序页面的文件 "cloudfunctionRoot": "cloudfunctions/", 表示云函数文件,即 在云端定义一些函数,运行环境为 nodejs, 可以做一些运算操作,然后将结果

微信小程序云开发-从0打造云音乐全栈小程序

第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过本章的学习,能够使大家对本门课程有一个整体的了解.... 第2章 云开发介绍以及从0构建项目本章会详细介绍小程序云开发与Serverless,并介绍如何开通小程序云开发及控制台的功能,并且初始化项目代码,讲解airbnb/javascript代码规范. 第3章 播放列表功能实现本章完成歌单列表与歌曲

微信小程序云开发入门到发布上线

初始化项目 起步说明[非小白教程] 适合人群[建议快速看文档,对着写一遍] 看过官方文档,并简单的写过 起步教程 云开发文档 熟悉vue/es6 小程序注册[微信公众平台] 获取appid[微信公众平台-开发-开发设置] 新建小程序云开发项目 新建项目选择一个空目录,填入 AppID(使用云开发能力必须填写 AppID) 勾选创建 "小程序云开发 " 点击新建即可得到一个展示云开发基础能力的示例小程序. 该小程序与普通 QuickStart 小程序有以下不同需注意: 无游客模式.也不可

如何使用微信小程序云函数发送短信验证码

其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制. 本文使用的是榛子云短信平台(http://smsow.zhenzikj.com) ,SDK下载: http://smsow.zhenzikj.com/doc/sdk.html 1. 安装下载后的SDK在cloudfunctions文件夹下会包含3个云函数文件夹,如下: 由于目前IDE没有云函数导入功能,您需要手工创建同名的云函数,然后将云函数下的文件手工拷进去 注:下载的SDK是一个

小程序云开发攻略,解决最棘手的问题

背景 最近小程序非常的火,应公司业务发展要求,开发维护了几款小程序,公司开发的小程序都是由后端提供的接口,开发繁琐而复杂,直到小程序出现了云开发,仔细研读了文档之后,欣喜不已,于是我着手开发了本人的第一款小程序 小程序云开发教程地址 点我查看>> 分析 云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥. 优势 无需自建服务器,数据库,

【微信小程序云开发】从陌生到熟悉

前言 微信小程序在9月10号正式上线了云开发的功能,弱化后端和运维概念,以前开发一个小程序需要申请一个小程序,准备一个https的域名,开发需要一个前端一个服务端,有了云开发只有申请一个小程序,一个前端就能搞定,真的是零成本. 云开发三大基础能力 云函数:运行在微信服务器上的函数,处理微信相关操作有天然优势,如获得用户信息异常方便(以前服务端解析很麻烦) 数据库:一个小程序可以直接操作的JSON数据库,可以直接操作数据库,不在需要服务端了. 存储:用来存储文件和图片 阅读本文之前最好对微信小程序

小程序云开发文档

踩了很多坑,以为其他地方有捷径. 可能是小程序云开发刚起步的原因吧. 最终还是用官网的文档解决的问题. https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html 至于UI效果可以用vant: https://youzan.github.io/vant/#/zh-CN/search 如果van之前没玩过,不能直接上手,看小程序云开发的视频即可解决. 原文地址:https://www.cnb

微信小程序云开发更换云开发环境

小程序云开发环境初始化默认是第一个环境,但是我们可以指定环境id //app.js App({ onLaunch: function () { if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力') } else { wx.cloud.init({ env: "kindear-fd77cd", traceUser: true, }) } this.globalData = {} } }) 就可以成功更换云开发环境. 原文地址:

使用charls抓包微信小程序的解决方案(终极解决,各种坑不怕,亲测可用,不服来战!)

第一步:使用charles进行https抓包 https://www.jianshu.com/p/7a88617ce80b   使用charles进行https抓包 使用Charles进行HTTPS抓包(包括安装信任证书以及抓包 出现无法抓包unknown和证书无效解决方案) 因为微信小程序都是https的请求,所以必须要能解析https,要解析https,就要证书 最近很多同行使用第一步所说的配置之后,发现获取的https响应数据依然是乱码.所以,请进行第二步设置. 第二步:Android 7