收藏
回答

小程序获取用户信息成功,报错:updata in not a function

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows v1.02.1808101

- 当前 Bug 的表现(可附上截图)



- 预期表现

小程序获取用户信息成功,下面的that.updata报错:updata in not a function

- 复现路径


- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

2 个回答

  • Star
    Star
    2018-08-31

    这个是app.js里的代码:

    const openIdUrl = require('./config').openIdUrl


    App({

    onLaunch: function () {

    console.log('App Launch')

    },

    onShow: function () {

    console.log('App Show')

    },

    onHide: function () {

    console.log('App Hide')

    },

    globalData: {

    hasLogin: false,

    openid: null

    },

    // lazy loading openid

    getUserOpenId: function(callback) {

    var self = this


    if (self.globalData.openid) {

    callback(null, self.globalData.openid)

    } else {

    wx.login({

    success: function(data) {

    wx.request({

    url: openIdUrl,

    data: {

    code: data.code

    },

    success: function(res) {

    console.log('拉取openid成功', res)

    self.globalData.openid = res.data.openid

    callback(null, self.globalData.openid)

    },

    fail: function(res) {

    console.log('拉取用户openid失败,将无法正常使用开放接口等服务', res)

    callback(res)

    }

    })

    },

    fail: function(err) {

    console.log('wx.login 接口调用失败,将无法正常使用开放接口等服务', err)

    callback(err)

    }

    })

    }

    }

    })



    2018-08-31
    有用
    回复
  • จุ๊บ
    จุ๊บ
    2018-08-31

    多截图。还有就是你的update 函数在哪里呢?

    2018-08-31
    有用
    回复 8
    • Star
      Star
      2018-08-31

      我是复制的别人的代码,我没有再他的项目里找到updata函数,下面是他的JS代码:

      var app = getApp()

      Page({

      data: {

      hasUserInfo: false

      },

      getUserInfo: function () {

      var that = this;


      if (app.globalData.hasLogin === false) {

      wx.login({

      success: _getUserInfo

      })

      } else {

      _getUserInfo()

      }


      function _getUserInfo() {

      wx.getUserInfo({

      success: function (res) {

      that.setData({

      hasUserInfo: true,

      userInfo: res.userInfo

      })

      that.update()

      }

      })

      }

      },

      clear: function () {

      this.setData({

      hasUserInfo: false,

      userInfo: {}

      })

      }

      })



      2018-08-31
      回复
    • จุ๊บ
      จุ๊บ
      2018-08-31回复Star

      咩有update 函数 肯定就报错了啊,错误提示的意思就是没有这个函数啊

      2018-08-31
      回复
    • Star
      Star
      2018-08-31回复จุ๊บ

      我复制的是网上搜的一个项目,他那么写是不报错的,我写就报错了

      2018-08-31
      回复
    • จุ๊บ
      จุ๊บ
      2018-08-31回复Star

      我不清楚 怎么在小程序项目查找方法,你可以在看看那个项目,估计他写在别的地方了


      2018-08-31
      回复
    • Star
      Star
      2018-08-31回复จุ๊บ

      ctrl+shift+F是全局搜索,但是没有搜到,我就觉得奇怪

      2018-08-31
      回复
    查看更多(3)
登录 后发表内容