收藏
回答

this.setData

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug this.setData 客户端 7.0.3 buxiang

- 当前 Bug 的表现(可附上截图) 我已经在wx.request前面加了var that=this了,为什么还是报错?获取的是列表数据


- 预期表现

不报错

- 复现路径


- 提供一个最简复现 Demo

Page({


  data: {

    vip_list:null

  },


  onLoad: function (options) {

    this.vip_list();

  },

  vip_list(){

    //获取缓存access_token

    wx.getStorage({

      key: 'access_token',

      success: function (res) {

        if (Date.parse(new Date()) + 2000 < res.data.expires) {

            //读取缓存access_token

            wx.getStorage({

              key: 'login_info',

              success: function (b) {

                var that = this;

                //会员列表

                wx.request({

                  url: 'http://api.wss.onlyjune.com/store_member/lists.html',

                  data: {

                    access_token: res.data.access_token,

                    page:'10',

                    user_token: b.data.user_token

                  },

                  method: 'post',

                  header: {

                    'Content-Type': 'application/json'

                  },

                  success: function (a) {

                    // console.log(a.data)

                    console.log('会员数据:',a.data.data.data)

                    that.setdata({

                      vip_list: a.data.data.data

                    })

                  },

                  fail: function () { }

                })

              },

            })

        } else {

          console.log('access_token已过期请重新获取');

        }

      },

    })

  },

})



最后一次编辑于  03-28  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • iHealth 王深镇
    iHealth 王深镇
    03-28

    this.setData({}) 注意大小写

    03-28
    赞同
    回复 1
    • 👿
      👿
      03-28

      改成大写的还是报这个错

      03-28
      回复
  • 微盟
    微盟
    03-28

    this作用域的问题

    你把 var that = this; 放在   wx.getStorage({})的外面试下呢

    报的是that为undefined


    03-28
    赞同
    回复 1
    • 👿
      👿
      03-28

      已经解决了,谢谢,我放在vip_list() {下面了

      03-28
      回复
  • 祺爸💎
    祺爸💎
    03-28

    var that = this;

    放到vip_list(){下面

    03-28
    赞同
    回复 1
    • 👿
      👿
      03-28

      奇怪,我刚才试过,报错。你说了之后再试了一次就不报错了,可以了,谢谢。

      03-28
      回复