如何编写微信小程序代码实现调用远程接口并给全局数组赋值?

更新于
2026-10-01 09:01:34
1阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计322个文字,预计阅读时间需要2分钟。

如何编写微信小程序代码实现调用远程接口并给全局数组赋值?

关键是先定义 let that=this,因为在 onLoad 的 wx.request 方法中,this 指的是 wx.request 的上下文,所以应该在 onLoad 时定义 let that=this,调用远程服务后,将 obj 赋值给 bookList 初始值。

关键是 let that = this

因为在onLoad 的 wx.request方法里, this指的是 wx.request 的上下文, 所以应该是在 onLoad 的时候定义 let that = this

调用远程服务,序列化后,把obj赋值给bookList

最开始的报错代码如下:

Page({ data: { bookList: [] }, onLoad: function() { wx.request({ url: 'jiashubing.cn/wechat/book', header: { 'content-type': 'application/json' }, success(res) { var obj = JSON.parse(res.data) console.log(obj) this.setData({ bookList: obj }) } }) } })

报错为:

如何编写微信小程序代码实现调用远程接口并给全局数组赋值?

VM3293:1 thirdScriptError Cannot read property 'setData' of null;at pages/index/index onLoad function;at api request success callback function TypeError: Cannot read property 'setData' of null

报错原因是this 指向有问题,得在onload的时保存实例指向,let that = this,下面全用that,this指向永远值得是自己的上下文环境

正确代码如下:

Page({ data: { bookList: [] }, onLoad: function() { let that = this wx.request({ url: 'jiashubing.cn/wechat/book', header: { 'content-type': 'application/json' }, success(res) { var obj = JSON.parse(res.data) console.log(obj) that.setData({ bookList: obj }) } }) } })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计322个文字,预计阅读时间需要2分钟。

如何编写微信小程序代码实现调用远程接口并给全局数组赋值?

关键是先定义 let that=this,因为在 onLoad 的 wx.request 方法中,this 指的是 wx.request 的上下文,所以应该在 onLoad 时定义 let that=this,调用远程服务后,将 obj 赋值给 bookList 初始值。

关键是 let that = this

因为在onLoad 的 wx.request方法里, this指的是 wx.request 的上下文, 所以应该是在 onLoad 的时候定义 let that = this

调用远程服务,序列化后,把obj赋值给bookList

最开始的报错代码如下:

Page({ data: { bookList: [] }, onLoad: function() { wx.request({ url: 'jiashubing.cn/wechat/book', header: { 'content-type': 'application/json' }, success(res) { var obj = JSON.parse(res.data) console.log(obj) this.setData({ bookList: obj }) } }) } })

报错为:

如何编写微信小程序代码实现调用远程接口并给全局数组赋值?

VM3293:1 thirdScriptError Cannot read property 'setData' of null;at pages/index/index onLoad function;at api request success callback function TypeError: Cannot read property 'setData' of null

报错原因是this 指向有问题,得在onload的时保存实例指向,let that = this,下面全用that,this指向永远值得是自己的上下文环境

正确代码如下:

Page({ data: { bookList: [] }, onLoad: function() { let that = this wx.request({ url: 'jiashubing.cn/wechat/book', header: { 'content-type': 'application/json' }, success(res) { var obj = JSON.parse(res.data) console.log(obj) that.setData({ bookList: obj }) } }) } })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。