【微信小程序】wx.request请求后success回调的数据无法显示到页面上

时间:2023-01-17 12:00:59


出错原因

  我在success回调函数是这样赋值的:

var that = this;
wx.request({
url: this.data.host + "/system/dept/list",
method : "GET",
success: function (res) {
if(res.data.code == 200){
that.data.deptInfo:res.data.data;
}
}
})

  微信官方说明:

  ​​Page.prototype.setData():​​setData函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。注意: 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。

解决办法

  应该这样赋值:

var that = this;
wx.request({
url: this.data.host + "/system/dept/list",
method : "GET",
success: function (res) {
if(res.data.code == 200){
that.setData({
deptInfo:res.data.data
});
}
}
})