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

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

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

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":[

   "http://jb51.net.com/76125c357aa7b0ca6c9cbc41b4a5326d.jpg"

  ],

  "type":0,

  "id":8975316,

  "ga_prefix":"111422",

  "title":"小事 · 我和你们一样"

 },

 {

  "images":[

   "http://jb51.net/7c908a5940384123fd88287dbc6a2c98.jpg"

  ],

  "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({

  url: 'http://news-at.zhihu.com/api/4/news/latest',

  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()这个函数,把json中的数据直接赋值给zhihu这个数组

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值