收藏
回答

总是提示is not defined,什么原因?

onLoad(options) {

console.log('index中的onload页面加载执行了。')

/*页面加载后,调用函数,获取openidid*/

wx.cloud.callFunction({

  name: 'test',

  complete: res => {

var aa =res.result['userInfo']

var openid=aa['openId']

this.setData({

open_id1:openid

})

}

})

console.log(open_id1);

},

请教各位大神,上面是我在onload中的操作,第一步是通过云函数获得了openid,放入了open_id1中,在wxml中也显示了,可是在onload函数最后一行中,我想将openid打印出来时,却报错了。”ReferenceError: open_id1 is not defined“,我在page的data块中式这样写的:

Page({

data: {

userinfo:[],

open_id1:""

},

所以说变量是定义的了。我改成:

console.log(this.open_id1);也打不出任何内容。

请高手解惑。

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

6 个回答

  • CRMEB
    CRMEB
    2023-10-13

    这个问题可能是因为在`console.log(open_id1);`这一行中,`open_id1`没有被正确引用。请确保你在正确的作用域中使用`open_id1`。你可以尝试将`console.log(open_id1);`这一行放在`Page()`函数的`onLoad()`方法中,如下所示:


    Page({
      data: {
        userinfo: [],
        open_id1: ""
      },
    
      onLoad: function() {
        var aa = res.result['userInfo'];
        var openid = aa['openId'];
        this.setData({
          open_id1: openid
        });
        console.log(this.open_id1);
      }
    })
    


    如果仍然无法解决问题,请检查你的代码是否有其他错误。

    2023-10-13
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    2023-10-13

    你的写法都有问题,肯定没有数据啊

    2023-10-13
    有用
    回复
  • 正青春
    正青春
    2023-10-13

    你先把res.result结果打印出来,console.log("openid:"+res.result[0].openid)

    2023-10-13
    有用
    回复
  • 余生
    余生
    2023-10-13
    onLoad(options) {
      console.log('index中的onload页面加载执行了。');
    
    
      /* 页面加载后,调用函数,获取openid */
      wx.cloud.callFunction({
        name: 'test',
        complete: res => {
          var aa = res.result['userInfo'];
          var openid = aa['openId'];
          this.setData({
            open_id1: openid
          });
          // 在这里访问 open_id1,确保在获取后再使用
          console.log(this.data.open_id1);
        }
      });
    }
    
    
    
    2023-10-13
    有用
    回复 2
    • ljh
      ljh
      2023-10-13
      这样确实是可以的。但是我在这里获取的数据,怎么在其他函数中使用呢?
      2023-10-13
      回复
    • 余生
      余生
      2023-10-16回复ljh
      在其他函数 也是这样使用  this.data.open_id1
      2023-10-16
      回复
  • Jerry
    Jerry
    2023-10-13

    去学习一下js基础

    2023-10-13
    有用
    回复 2
  • 跨商通
    跨商通
    2023-10-13

    console.log(this.data.open_id1)

    2023-10-13
    有用
    回复 1
    • ljh
      ljh
      2023-10-13
      也显示不出任何内容。
      2023-10-13
      回复
登录 后发表内容