微信小程序> 小程序获取用户信息无法得到问题

小程序获取用户信息无法得到问题

浏览量:532 时间: 来源:Booleaning

小程序获取用户信息无法得到问题

1.前言

因为小程序是由js代码编写的,我js学得不是特别的好,所以,刚开始以为js跟java一行,一行一行的执行,后面才发现,完全不是,所以有时候,我们在获取用户信息和openId的时候,要向后台发送请求,所以有时有可能请求还没有返回数据,小程序这边已经赋值了,只能得到一个undifine,很桑心,后来js代码看多了之后,才发现有一种处理这个问题的好方法,回调,当请求得到返回信息之后,再回调,就可以得到数据了
其实微信官方文档也说明了添加一个回调函数,但是我看着这个回调函数也不知道怎么用啊,上网搜索也都是抄袭微信文档,没点新意

2.在app.js中获取用户信息

  onLaunch: function () {    // 展示本地存储能力    var that = this ;    var logs = wx.getStorageSync('logs') || []    logs.unshift(Date.now())    wx.setStorageSync('logs', logs)        // 登录    wx.login({            success: res = {        // 发送 res.code 到后台换取 openId, sessionKey, unionId        var code = res.code;        var user =null;        // wechatUtil        wechatUtil.req("/user/login", { "code": code }, function (res) {          console.log("获取openId成功");          console.log(res);          if (res.resultCode == 200) {            that.globalData.user = res.resultContent;            user = res.resultContent;            // this.setData({            //   user: res.resultContent            // });            // that.data.user = res.resultContent;          } else {            console.log("获取openId失败,msg:" + res);          }// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回        // 所以此处加入 callback 以防止这种情况          if (that.userCallback) {            that.userCallback(res)          }        });      }    })  },

3.在获取openId的地方添加对回调的调用

onLoad: function () {    var that = this;        if (app.globalData.user && !JSON.stringify(app.globalData.user)){      that.setData({        user: app.globalData.user      })    }else{      app.userCallback = res ={        console.log("----------------------------res="+res);        if(res != null){          this.setData({            user: res.resultContent          })        }      }    } }

4.后言

小程序的坑确实挺多,但是你如果仔细阅读文档,都能解决,所以还是多读文档吧

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎