鍍金池/ 問答/HTML/ 小程序項目別的頁面初始化拿到的值為兩種狀態(tài)

小程序項目別的頁面初始化拿到的值為兩種狀態(tài)

app.js文件


 onLaunch: function () {
    console.log('app-onLaunch')
    this.getUserInfo();
   
  },
  onShow:function(){
    console.log('app-onShow')
  },
  // 獲取用戶信息,登錄

  getUserInfo: function (callBack) {
    let that = this;
    if (this.globalData.userInfo) {
      typeof cb == 'function' && cb(this.globalData.userInfo)
    } else {
      wx.login({
        success: function (res1) {
          console.log('res11111111111111111',res1);
          if (res1.code) {
            //授權
            wx.getUserInfo({
              success: res => {
                // 可以將 res 發(fā)送給后臺解碼出 unionId
                //console.log('ryy-getUserInfo', res.userInfo)
                that.globalData.userInfo = res.userInfo

                wx.request({
                  url: that.config.HOST + '/user/userLogin.do',
                  data: {
                    code: res1.code, //返回openid
                    headimgurl: res.userInfo.avatarUrl,
                    nickname: res.userInfo.nickName,
                    city: res.userInfo.city,
                    appid: that.globalData.AppId,
                    province: res.userInfo.province,
                    shop_id: '10001',
                  },
                  header: {
                    'content-type': 'application/json'
                  },
                  success: function (res) {
                    console.log('tets1', res)
                    if (res && res.statusCode == 200) {
                      wx.setStorageSync('session_id', res.data.data.session_id)
                      that.globalData.header.Cookie = 'JSESSIONID=' + res.data.data.session_id;
                      that.globalData.is_vip = res.data.data.is_vip;
                      console.log('that.globalData-------------------++++++++++++++++++++', that.globalData)
                      //console.log('that.globalData.header', that.globalData.header.Cookie)
                      //console.log('ryy-qest' + JSON.stringify(res.data), res.data.data)
                      //有些操作需要登陸之后才能獲取,但又是和login驗證同時進行的話就需要加入到回調函數
                      if (callBack) {
                        callBack()
                      }
                    
                    }

                  }
                })
              },
 globalData: {
    userInfo: null,
    openid:null,
    user_id:null,
    code:null,
    header:{Cookie:null},
    session_id:null,
    img_domain:null,
    telephone:null,
    is_vip:null,
    getInit:{},
  },

其他page文件下的index.js頁面


clipboard.png
放在onload或者是其他生命周期內打印不出來cookie,一個是空值,一個是有值的
旁邊出來一個感嘆號提示:Value below was evaluated just now
但如果打印,console.log(app.globalData.header.Cookie)出來的是null

但是在自定義方法里邊比如點擊獲取驗證碼里就能夠獲取到cookie的值
實在是不知道如何解決該問題好好,第一次做小程序,希望能有人指點一下

回答
編輯回答
撥弦

估計全局沒有存儲上吧,應該是異步的事,我以前碰到過是由于異步還沒有賦值成功,就使用,方面起見你可以加一個延時器試試

2017年12月14日 23:55
編輯回答
茍活

我想問一下,解決了嗎

2018年5月17日 10:41