小程序模板网

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

发布时间:2018-04-21 09:05 所属栏目:小程序开发教程

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

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

1.用到的知识点

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

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

<3>wx:for 循环语句 

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

2.实现原理

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

 

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

3.代码

分解图

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

 

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

<2>index.js中

 

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

<3> index.wxml中

 

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

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



易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/23828.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询