微信小程式wx.request請求伺服器json資料並渲染到頁面
阿新 • • 發佈:2019-01-23
微信小程式的資料總不能寫死吧,肯定是要結合資料庫來做資料更新,而小程式資料主要是json資料格式,所以我們可以利用php操作資料庫,把資料以json格式資料輸出即可。現在給大家講一下,微信小程式的wx.request進行伺服器資料請求的用法:
官方文件給出了示例程式碼,但是我這邊自己進行了簡單的處理:
index.js
上面的url是json資料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是陣列 }) } }) } })
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"。