當(dāng)前位置:首頁 > IT技術(shù) > 微信平臺(tái) > 正文

小程序數(shù)據(jù)請(qǐng)求API渲染教程
2021-08-01 11:20:18

一:新建一個(gè)項(xiàng)目

填寫自己申請(qǐng)過得小程序的appid,勾選不使用云服務(wù)。

小程序數(shù)據(jù)請(qǐng)求API渲染教程_.net
?

二:準(zhǔn)備一個(gè)免費(fèi)的接口

這種免費(fèi)的接口網(wǎng)上有很多,但是基本都不太穩(wěn)定,過了一段時(shí)間都沒有辦法技術(shù)使用,基本都會(huì)掛,所以啊,一定要選擇官方文檔里面給的接口,我這里找的是uniapp框架里面的某一個(gè)接口,應(yīng)該能撐幾年。

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

三:開始寫js代碼

思路

1:首先寫請(qǐng)求,我們都知道小程序的請(qǐng)求就是使用wx.request這個(gè)方法的,
官方文檔指路:
https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html

直接將這個(gè)請(qǐng)求賦值到j(luò)s默認(rèn)的page里面的onLoad函數(shù)

小程序數(shù)據(jù)請(qǐng)求API渲染教程_數(shù)據(jù)_02
圖片.png

2: 將url替換成前面找好的免費(fèi)接口
success返回成功的話
在控制臺(tái)打印一下返回的res.data數(shù)據(jù)

      success: res => {
        console.log(res.data)
      }

3: 需在data中聲明一個(gè)接收數(shù)據(jù)的變量。

data: {
    list: []
  },

4:在請(qǐng)求接口成功之后,用setData接收數(shù)據(jù)

        this.setData({
          //第一個(gè)data為固定用法
          list: res.data
        })

5:js參考代碼

Page({
  data: {
    // 3:需在data中聲明一個(gè)接收數(shù)據(jù)的變量。
    list: []
  },
  onLoad: function (options) {
    wx.request({
      url: 'https://unidemo.dcloud.net.cn/api/news',
      header: {
        'content-type': 'application/json'
      },
      success: res => {
        //1:在控制臺(tái)打印一下返回的res.data數(shù)據(jù)
        console.log(res.data)
        //2:在請(qǐng)求接口成功之后,用setData接收數(shù)據(jù)
        this.setData({
          //第一個(gè)data為固定用法
          list: res.data
        })
      }
    })
  },
})

6:注意一下,如果出現(xiàn)這樣的報(bào)錯(cuò)

https://unidemo.dcloud.net.cn 不在以下 request 合法域名列表中,請(qǐng)參考文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html
小程序數(shù)據(jù)請(qǐng)求API渲染教程_數(shù)據(jù)_03
?

說明接口的域名并沒有在你開發(fā)所用的小程序的后臺(tái)進(jìn)行域名,證書等的配置。

為了開發(fā)方便,這樣可以解決:點(diǎn)開右上角的詳情按鈕,進(jìn)行本地設(shè)置,勾選不校驗(yàn)合法域名,web-view(業(yè)務(wù)域名),TLS版本以及HTTPS證書。

小程序數(shù)據(jù)請(qǐng)求API渲染教程_.net_04
?

但是后面上線之前還是需進(jìn)行配置好哦

四:wxml

上一步里面,可以看到,接口的返回值的格式如下,全部都是數(shù)組

小程序數(shù)據(jù)請(qǐng)求API渲染教程_ide_05
?

如果要渲染到界面,就需要進(jìn)行數(shù)組循環(huán),使用wx:for方法:

在組件上使用 wx:for 控制屬性綁定一個(gè)數(shù)組,即可使用數(shù)組中各項(xiàng)的數(shù)據(jù)重復(fù)渲染該組件。
默認(rèn)數(shù)組的當(dāng)前項(xiàng)的下標(biāo)變量名默認(rèn)為 index,數(shù)組當(dāng)前項(xiàng)的變量名默認(rèn)為 item

wxml

<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

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



小程序界面如下:
wxss沒有怎么寫,湊合著看吧。不過還是喜歡引入一下小程序的ui框架,這樣用起來就很快樂。

小程序數(shù)據(jù)請(qǐng)求API渲染教程_數(shù)據(jù)_06
?

完結(jié),撒花

?
小程序數(shù)據(jù)請(qǐng)求API渲染教程_ide_07
?

本文摘自 :https://blog.51cto.com/u

開通會(huì)員,享受整站包年服務(wù)立即開通 >