在我们进行页面网络请求时,我们一般会这样写:
onLoad:function(options){
wx.request({
url: 'https://api.douban.com/v2/movie/in_theaters ',
header: {
'content-type': 'application/json' // 默认值
},
success:function(res){
console.log('豆瓣',res.data)
}
})
}
那如果我们有很多这种接口,而且前面全是一模一样的,这时可以用到文件作用域,将地址作为全局函数,这样如果需要修改也是修改一处即可。
第一步:
在APP.js文件中,
![](https://img.haomeiwen.com/i1514045/52c48224a0e8a19a.png)
第二步:
然后在你想调用网络请求的页面中,通过全局函数 getApp() 可以获取全局的应用实例
![](https://img.haomeiwen.com/i1514045/a3a750cc32e6e545.png)
![](https://img.haomeiwen.com/i1514045/62c8c71e57cad0db.png)
拓展问题:
如果我们一个页面要求显示几个接口,并且每个接口模块固定显示几个数据,像以上的写法要怎么实现呢
![](https://img.haomeiwen.com/i1514045/a5f13fa725562583.png)
我们将要拼接的接口用var 来接收,将网络请求封装在http:function()函数中,category是接收上面拼接的接口参数
通过this.http()来调用网络请求封装的函数
那如果每个接口需要显示的个数有要求又怎么办呢?
![](https://img.haomeiwen.com/i1514045/7eb5ea776c354085.png)
在网络请求函数中,多加一个传递个数的参数,注意在上面调用的时候,写上想调用几个数据即可,在网络请求的url拼接中,记得拼接上想从第几条数据开始读取,读取几条
![](https://img.haomeiwen.com/i1514045/34063a81683bac79.png)
注意:
当你拿到上面数据之后,不可能在一个网络请求中对视图进行操作,
![](https://img.haomeiwen.com/i1514045/18c04b9c7bf93216.png)
所以通过callback回调函数来处理
网友评论