1. 程式人生 > >微信小程式wx.request請求伺服器json資料並渲染到頁面

微信小程式wx.request請求伺服器json資料並渲染到頁面

微信小程式的資料總不能寫死吧,肯定是要結合資料庫來做資料更新,而小程式資料主要是json資料格式,所以我們可以利用php操作資料庫,把資料以json格式資料輸出即可。現在給大家講一下,微信小程式的wx.request進行伺服器資料請求的用法:

官方文件給出了示例程式碼,但是我這邊自己進行了簡單的處理:

index.js

Page({
  data: {
  },
  onLoad: function () {
    var that = this
    wx.request({
      url: 'http://www.likeyunba.com/test/test.json',
      headers: {
        'Content-Type': 'application/json'
      },
      success: function (res) {
        //將獲取到的json資料,存在名字叫list的這個陣列中
        that.setData({
          list: res.data,
          //res代表success函式的事件對,data是固定的,list是陣列
        })
      }
    })
 
 
  }
})
上面的url是json資料

test.json

[
    {
        "id":"1",
        "title":"測試資料1"
    },
    {
        "id":"2",
        "title":"測試資料2"
    },
    {
        "id":"3",
        "title":"測試資料3"
    },
    {
        "id":"4",
        "title":"測試資料4"
    },
    {
        "id":"5",
        "title":"測試資料5"
    },
    {
        "id":"6",
        "title":"測試資料6"
    },
    {
        "id":"7",
        "title":"測試資料7"
    },
    {
        "id":"8",
        "title":"測試資料8"
    },
    {
        "id":"9",
        "title":"測試資料9"
    }
]

index.wxml

<view wx:for="{{list}}" wx:key="list">
  <view>{{item.id}}</view>
  <view>{{item.title}}</view>
</view>

然後wxml是首頁,渲染json資料的,這是一個for迴圈(wx.for),wx:key="list"幹嘛用的?
如果我們沒有wx:key="list",那麼在控制檯會報錯,但是這個報錯並不影響頁面的渲染,基本可以忽略掉!
Now you can provide attr "wx:key" for a "wx:for" to improve performance.這是報錯資訊

wx:key用來對列表渲染的資料指定一個"主鍵”,以加快列表渲染的速度。以下是官方文件原話:如不提供 wx:key,會報一個 warning, 如果明確知道該列表是靜態,或者不必關注其順序,可以選擇忽略。如果你一定想去掉這個警告,可以在wx:for的元件屬性裡增加一個 wx:key="unique",unique請替換成資料繫結列表裡的任意一個欄位的欄位名,比如文章列表資料中的欄位“postId”,即wx:key="postId"。不建議使用wx:key="*this"。