wx.request 请求wpi 返回数据,this.setData无返回数据
发布于 5 年前 作者 jiangyang 7755 次浏览 来自 问答

wx.request 请求wpi 返回数据,this.setData无返回数据,使用

wx.showToast({title: ticketnum,icon: ‘success’,duration: 2000})   返回数据可以正常返回服务器数据,使用

this.setData({

ticketnum: “123” + res.data,

})  返回数据异常,返回出现获取不到的情况,调试页面也会报undefiend

//扫码成功,请求webAPI  

wx.request({

url: ‘’,

method:‘POST’,

data: {

//ticketno: ‘ffa30f5f4b56403d80e3ce2322fdae99’,

ticketno: res.result

},

header: {

//‘content-type’: ‘application/json’ // 默认值

‘content-type’: ‘application/x-www-form-urlencoded’

},

//webApi 返回数据

success: function (res) {

this.setData({

ticketnum: “123” + res.data,

})

// var that=this;

// that.setData({

//   ticketnum: “123”+res.data,

// })

wx.showToast({

title: ticketnum,

icon: ‘success’,

duration: 2000

})

},

fail: (res) => {

wx.showToast({

title: ‘查票失败’,

icon: ‘success’,

duration: 2000

})

}

})

5 回复

undefiend的不是数据而是setData方法,作用域了解一下

2楼回答正确, 谢谢2楼

你this  指代的是 request的这个对象而不是全局的page对象

请在request外面定义一个

const that = this
 
//request
 
*******
 
success:function(res){
 
    that.setData({
 
        *******
 
    })
 
}

我和你写法 差不多 但是 我在预览的时候 在手机无法跳转页面

你直接在回调函数里面写this.setData,this的指向不会发生改变吗?没有报错吗?

回到顶部