
微信小程序踩坑系列(1)——thirdScriptError TypeError: this.setData is not a function
讲道理,我这个月写小程序踩的坑比之前加起来都多,真的是醉了,我觉得都可以写个系列了。。
首先就是标题描述的这个问题了,之前写的时候因为没涉及到网络请求部分,所以没有出现这个问题,现在调用php访问数据库需要使用wx.request就会出现这个问题。
问题部分代码(非实际项目源代码):
wx.request({
url: url,
success: function (res) {
console.log(res.data)
this.setData({ itemList: res.data })
}
报错提示:
thirdScriptError TypeError: this.setData is not a function
研究了半天也没发现哪有问题,百度之后才发现不止我一个人踩坑,这里在处理网络返回数据时,不能直接使用this。 要事先定义一个this的代理。 比如:var that = this
修正后的代码:
var that = this
………………
wx.request({
url: url,
success: function (res) {
console.log(res.data)
this.setData({ itemList: res.data })
}
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果