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


Posted in Javascript onJanuary 20, 2017

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

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

1.用到的知识点

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

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

<3>wx:for 循环语句

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

2.实现原理

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

wx.request({
 url: '******', //这里填写你的接口路径
 header: { //这里写你借口返回的数据是什么类型,这里就体现了微信小程序的强大,直接给你解析数据,再也不用去寻找各种方法去解析json,xml等数据了
  'Content-Type': 'application/json'
 },
 data: {//这里写你要请求的参数
  x: '' ,
  y: ''
 },

 success: function(res) {
 //这里就是请求成功后,进行一些函数操作
 console.log(res.data)
 }
})

3.代码

分解图

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

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

"date":"20161114",
 "stories":[
  {
   "images":[
    "http://3water.com.com/76125c357aa7b0ca6c9cbc41b4a5326d.jpg"
   ],
   "type":0,
   "id":8975316,
   "ga_prefix":"111422",
   "title":"小事 · 我和你们一样"
  },
  {
   "images":[
    "http://3water.com/7c908a5940384123fd88287dbc6a2c98.jpg"
   ],
   "type":0,
   "id":8977438,
   "ga_prefix":"111421",
   "title":"成长嘛,谁说就意味着一定要长大了?"
  },

<2>index.js中

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中

<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这个数组就行。

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

Javascript 相关文章推荐
Firefox中beforeunload事件的实现缺陷浅析
May 03 Javascript
jQuery之排序组件的深入解析
Jun 19 Javascript
jquery+html5制作超酷的圆盘时钟表
Apr 14 Javascript
JQuery和PHP结合实现动态进度条上传显示
Nov 23 Javascript
微信小程序 石头剪刀布实例代码
Jan 04 Javascript
jQuery is not defined 错误原因与解决方法小结
Mar 19 Javascript
微信小程序基于本地缓存实现点赞功能的方法
Dec 18 Javascript
Express进阶之log4js实用入门指南
Feb 10 Javascript
vue 组件高级用法实例详解
Apr 11 Javascript
vue中使用echarts制作圆环图的实例代码
Jul 27 Javascript
vue通过style或者class改变样式的实例代码
Oct 30 Javascript
vue给对象动态添加属性和值的实例
Sep 09 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 #Javascript
Vue开发过程中遇到的疑惑知识点总结
Jan 20 #Javascript
JavaScript简单验证表单空值及邮箱格式的方法
Jan 20 #Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
Jan 20 #Javascript
BootStrap CSS全局样式和表格样式源码解析
Jan 20 #Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
Jan 20 #Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
Jan 20 #Javascript
You might like
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
文本框的字数限制功能jquery插件
2009/11/24 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
Vue实现active点击切换方法
2018/03/16 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
Python中的进程分支fork和exec详解
2015/04/11 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
娱乐地球:Entertainment Earth
2020/01/08 全球购物
创业计划书怎样才能打动风投
2014/01/01 职场文书
社区志愿者活动总结
2014/06/26 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
融资合作协议书范本
2014/10/17 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android