微信小程序调用接口返回的数据,页面中怎么获取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序调用接口返回的数据,页面中怎么获取相关的知识,希望对你有一定的参考价值。
用this.setData( shuju1 : shuju2 ),
shuju1:你自己命名的名字,
shuju2:调用接口后返回的数据,
然后你页面就可以用shuju1,这样来获取了。
微信(wechat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,微信支持跨通信运营商、跨操作系统平台通过网络快速发送免费(需消耗少量网络流量)语音短信、视频、图片和文字,同时,也可以使用通过共享流媒体内容的资料和基于位置的社交插件“摇一摇”、“漂流瓶”、“朋友圈”、”公众平台“、”语音记事本“等服务插件。
微信提供公众平台、朋友圈、消息推送等功能,用户可以通过“摇一摇”、“搜索号码”、“附近的人”、扫二维码方式添加好友和关注公众平台,同时微信将内容分享给好友以及将用户看到的精彩内容分享到微信朋友圈。
截至2013年11月注册用户量已经突破6亿,是亚洲地区最大用户群体的移动即时通讯软件。截止2016年12月微信的月活跃用户数已达8.89亿。
微信由深圳腾讯控股有限公司 (Tencent Holdings Limited)于2010年10月筹划启动,由腾讯广州研发中心产品团队打造 。该团队经理张小龙所带领的团队曾成功开发过Foxmail、QQ邮箱等互联网项目。腾讯公司总裁马化腾在产品策划的邮件中确定了这款产品的名称叫做“微信”。
2011年1月21日,微信发布针对iPhone用户的1.0测试版。该版本支持通过QQ号来导入现有的联系人资料,但仅有即时通讯、分享照片和更换头像等简单功能。
在随后1.1、1.2和1.3三个测试版中,微信逐渐增加了对手机通讯录的读取、与腾讯微博私信的互通以及多人会话功能的支持,截至2011年4月底,腾讯微信获得了四五百万注册用户。
参考技术A 用this.setData( shuju1 : shuju2 )shuju1:你自己命名的名字,
shuju2:调用接口后返回的数据,
然后你页面就可以用shuju1,这样来获取了。 参考技术B 1.用到的知识点
<1> wx.request 请求接口资源(微信小程序api中的发起请求部分)
<2>swiper 实现轮播图的组件
<3>wx:for 循环语句
<4>微信小程序的基础知识
2.实现原理
首先,先看一下这个请求函数
var
wx.request(
url: '******', //这里填写你的接口路径
header: //这里写你借口返回的数据是什么类型,这里就体现了微信小程序的强大,直接给你解析数据,再也不用去寻找各种方法去解析json,xml等数据了
'Content-Type': 'application/json'
,
data: //这里写你要请求的参数
x: '' ,
y: ''
,
success: function(res)
//这里就是请求成功后,进行一些函数操作
console.log(res.data)
)1234567891011121314151612345678910111213141516
3.代码
分解图
<1>首先上一段知乎接口数据的json格式中的开头
"date":"20161114",
"stories":[
"images":[
"http://pic2.zhimg.com/76125c357aa7b0ca6c9cbc41b4a5326d.jpg"
],
"type":0,
"id":8975316,
"ga_prefix":"111422",
"title":"小事 · 我和你们一样"
,
"images":[
"http://pic1.zhimg.com/7c908a5940384123fd88287dbc6a2c98.jpg"
],
"type":0,
"id":8977438,
"ga_prefix":"111421",
"title":"成长嘛,谁说就意味着一定要长大了?"
,12345678910111213141516171819201234567891011121314151617181920
<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
)
)
)12345678910111213141516171819202122232425262728291234567891011121314151617181920212223242526272829
<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>本回答被提问者和网友采纳 参考技术C 先在发起请求(wx.request)前加上:var that = this 。
然后请求成功的回调函数中设置关键句 : that.setData(zhihu: res.data.stories)
微信小程序关于获取code注意点
参考技术A 当我们使用wx.login来使用返回的res.code去换取我们在接口中需要的code值的时候,可能一个页面不止一个地方是需要这个code值的时候,那个时候我们就不应该将获取code的方法直接放在onLoad方法或者组件刚一开始加载的生命周期函数中,这样会出现bug,报出下面这个错误解决办法:那个部分或者说哪个方法需要这个code值,就直接写在这个方法里面,例如下方(注:如果页面上只有一个地方需要,我们可以写在onLoad中或者单独需要这个code值的方法中。)
以上是关于微信小程序调用接口返回的数据,页面中怎么获取的主要内容,如果未能解决你的问题,请参考以下文章
微信小程序,后端用php写完接口,怎么把数据给前端,要带啥参数