微信小程序通过api接口将json数据展现到小程序示例

本文介绍如何使用知乎API获取数据,并通过微信小程序将其展示出来。重点讲解了使用wx.request发起请求、swiper组件实现轮播效果及wx:for循环渲染列表的方法。

实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上。

那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上。

1.用到的知识点

<1> wx.request 请求接口资源(微信小程序api中的发起请求部分)

<2>swiper 实现轮播图的组件

<3>wx:for 循环语句

<4>微信小程序的基础知识

2.实现原理

首先,先看一下这个请求函数

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
wx.request({
  url: '******' , //这里填写你的接口路径
  header: { //这里写你借口返回的数据是什么类型,这里就体现了微信小程序的强大,直接给你解析数据,再也不用去寻找各种方法去解析json,xml等数据了
   'Content-Type' : 'application/json'
  },
  data: { //这里写你要请求的参数
   x: '' ,
   y: ''
  },
 
  success: function (res) {
  //这里就是请求成功后,进行一些函数操作
  console.log(res.data)
  }
})

3.代码

分解图

<1>首先上一段知乎接口数据的json格式中的开头

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"date" : "20161114" ,
"stories" :[
  {
   "images" :[
   ],
   "type" :0,
   "id" :8975316,
   "ga_prefix" : "111422" ,
   "title" : "小事 · 我和你们一样"
  },
  {
   "images" :[
   ],
   "type" :0,
   "id" :8977438,
   "ga_prefix" : "111421" ,
   "title" : "成长嘛,谁说就意味着一定要长大了?"
  },

<2>index.js中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Page({
  data: {
   duration: 2000,
   indicatorDots: true ,
   autoplay: true ,
   interval: 3000,
   loading: false ,
   plain: false
  },
  onLoad: function () {
  var that = this //不要漏了这句,很重要
  wx.request({
   headers: {
   'Content-Type' : 'application/json'
   },
   success: function (res) {
   //将获取到的json数据,存在名字叫zhihu的这个数组中
    that.setData({
    zhihu: res.data.stories,
    //res代表success函数的事件对,data是固定的,stories是是上面json数据中stories
 
    })
   }
  })
 
 
  }
})

<3> index.wxml中

?
1
2
3
4
5
6
7
8
9
10
11
12
< view >
< swiper indicator-dots = "{{indicatorDots}}"
  autoplay = "{{autoplay}}" class = "banners" interval = "{{interval}}" duration = "{{duration}}" >//这里边的属性不重要,看下边
  < block wx:for = "{{zhihu}}" >
   < swiper-item class = "banner" >
    < image src = "{{item.image}}" data-id = "{{item.b}}" bindtap = "bindViewTap" class = "banner-image" width = "100%" height = "100%" />
    < text class = "banner-title" >{{item.title}}</ text >
   </ swiper-item >
  </ block >
</ swiper >
 
</ view >

看完这个代码,你会想,根据微信小程序的绑定原理,这里边的代码哪里调用了onLoad()这个函数,不用多想,微信小程序给你省略了这些步骤。直接调用zhihu这个数组就行。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值