前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序数据请求接口数据渲染界面

小程序数据请求接口数据渲染界面

原创
作者头像
王小婷
修改2020-11-27 10:18:51
1.2K0
修改2020-11-27 10:18:51
举报
文章被收录于专栏:编程微刊
一:新建一个项目

填写自己申请过得小程序的appid,勾选不使用云服务。

二:准备一个免费的接口

这种免费的接口网上有很多,但是基本都不太稳定,过了一段时间都没有办法技术使用,基本都会挂,所以啊,一定要选择官方文档里面给的接口,我这里找的是uniapp框架里面的某一个接口,应该能撑几年。

https://unidemo.dcloud.net.cn/api/news

三:开始写js代码

思路

1:首先写请求,我们都知道小程序的请求就是使用wx.request这个方法的, 官方文档指路: https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html

直接将这个请求赋值到js默认的page里面的onLoad函数

图片.png

2: 将url替换成前面找好的免费接口 success返回成功的话 在控制台打印一下返回的res.data数据

代码语言:javascript
复制
      success: res => {
        console.log(res.data)
      }

3: 需在data中声明一个接收数据的变量。

代码语言:javascript
复制
data: {
    list: []
  },

4:在请求接口成功之后,用setData接收数据

代码语言:javascript
复制
        this.setData({
          //第一个data为固定用法
          list: res.data
        })

5:js参考代码

代码语言:javascript
复制
Page({
  data: {
    // 3:需在data中声明一个接收数据的变量。
    list: []
  },
  onLoad: function (options) {
    wx.request({
      url: 'https://unidemo.dcloud.net.cn/api/news',
      header: {
        'content-type': 'application/json'
      },
      success: res => {
        //1:在控制台打印一下返回的res.data数据
        console.log(res.data)
        //2:在请求接口成功之后,用setData接收数据
        this.setData({
          //第一个data为固定用法
          list: res.data
        })
      }
    })
  },
})

6:注意一下,如果出现这样的报错

代码语言:javascript
复制
https://unidemo.dcloud.net.cn 不在以下 request 合法域名列表中,请参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html

说明接口的域名并没有在你开发所用的小程序的后台进行域名,证书等的配置。

为了开发方便,这样可以解决:点开右上角的详情按钮,进行本地设置,勾选不校验合法域名,web-view(业务域名),TLS版本以及HTTPS证书。

但是后面上线之前还是需进行配置好哦

四:wxml

上一步里面,可以看到,接口的返回值的格式如下,全部都是数组

如果要渲染到界面,就需要进行数组循环,使用wx:for方法:

代码语言:javascript
复制
在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。
默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item

wxml

代码语言:javascript
复制
<view wx:for="{{list}}" wx:key="index">
  <view class="item">
    <view class="number-wrapper">
      <text class="name">{{item.author_name}}</text>
      <view class="count-wrapper">
        <text class="count">{{item.title}}</text>
      </view>
    </view>
  </view>
</view>

wxss

代码语言:javascript
复制
.item {
  width: 100%;
  height: 186rpx;
  position: relative;
  display: flex;
  margin: 10rpx 10rpx;
  border-bottom: 1px solid rgb(197, 199, 199);
}

小程序界面如下: wxss没有怎么写,凑合着看吧。不过还是喜欢引入一下小程序的ui框架,这样用起来就很快乐。

完结,撒花

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一:新建一个项目
  • 二:准备一个免费的接口
  • 三:开始写js代码
  • 四:wxml
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档