微信小程序開發教程-從零開始(1)javascript
前倆章中咱們學會了怎麼搭建一個微信小程序的框架以及顯示一個文章列表,這篇文章我將講解列表的網絡請求以及網絡數據的對接。html
首先找到咱們的index.js文件,而後看看微信小程序的網絡請求文檔很輕鬆的就能夠找到咱們的示例代碼:java
wx.request({
url: 'test.php',
data: {
x: '' ,
y: ''
},
header: {
'Content-Type': 'application/json'
},
success: function(res) {
console.log(res.data)
}
})複製代碼
url爲咱們須要請求的接口git
data爲咱們的請求參數github
header爲設置請求的 header , header 中不能設置 Refererjson
success收到開發者服務成功返回的回調函數,res = {data: '開發者服務器返回的內容'}小程序
console.log( res.data )爲打印請求下來的數據微信小程序
默認爲get請求,在此咱們就用默認的請求方式,具體的代碼以下:api
onLoad: function () {
console.log('onLoad')
var that = this
wx.request( {
url: 'http://sep9.cn/qt5wix',
data: {},
header: {
'Content-Type': 'application/json'
},
success: function( res ) {
console.log( res.data )
}
})
}複製代碼
運行一下看看咱們的請求是否有數據,結果以下圖:
能夠看出咱們的數據請求已是成功的,是否是很是的簡單啊?😄下面咱們再來看看怎麼給相應的UI賦值吧。
首先在咱們網絡成功的地方加上如下代碼:
success: function( res ) {
console.log( res.data )
that.setData( {
})
}複製代碼
that.setData( { })
這個方法主要是用來賦值的
而後咱們獲得的數據爲res.data
經過打印咱們能夠看出咱們的數據結構和原來寫死的數據結構是同樣的,可是裏面的字段確不同,所以,咱們須要把請求下來的值賦值給咱們原來的數據源,而後把原有的數據源的字段改爲網絡請求下來的字段最終的代碼以下:
//index.js
//獲取應用實例
var app = getApp()
Page({
data: {
newList:[
]
},
//事件處理函數
bindViewTap: function() {
wx.navigateTo({
url: '../logs/logs'
})
},
onLoad: function () {
console.log('onLoad')
var that = this
wx.request( {
url: 'http://sep9.cn/qt5wix',
data: {},
header: {
'Content-Type': 'application/json'
},
success: function( res ) {
console.log( res.data )
that.setData( {
newList: res.data
})
}
})
}
})複製代碼
再把index.wxml中賦值的字段改爲服務器返回相應的字段,運行結果以下圖:
不知道什麼緣由,我這接口返回的圖片url在微信小程序中沒法顯示,爲了讓效果更加的接近咱們的效果圖,在本地給咱們的數據源加了些網絡上的圖片,代碼以下:
data: {
newList:[{fistImg:"http://img0.imgtn.bdimg.com/it/u=1640246403,1832676351&fm=21&gp=0.jpg"} ,
{fistImg:"http://a.hiphotos.baidu.com/image/pic/item/c8ea15ce36d3d539be4d77b83f87e950352ab05c.jpg"} ,
{fistImg:"http://h.hiphotos.baidu.com/image/pic/item/8d5494eef01f3a2922e765c99b25bc315c607c8d.jpg"} ,
{fistImg:"http://c.hiphotos.baidu.com/image/pic/item/3b292df5e0fe9925ae23d95736a85edf8db1718d.jpg"} ,
{fistImg:"http://g.hiphotos.baidu.com/image/pic/item/faedab64034f78f099a529f47b310a55b3191c0e.jpg"} ,
{fistImg:"http://g.hiphotos.baidu.com/image/pic/item/bd315c6034a85edf9ba34e244b540923dd54758d.jpg"} ,
{fistImg:"http://f.hiphotos.baidu.com/image/pic/item/00e93901213fb80e0ee553d034d12f2eb9389484.jpg"} ,
{fistImg:"http://img1.imgtn.bdimg.com/it/u=2955244448,132069077&fm=21&gp=0.jpg"} ,
{fistImg:"http://image.tianjimedia.com/uploadImages/2014/127/32/VP974HZ0AXL2.jpg"} ,
{fistImg:"http://img0.imgtn.bdimg.com/it/u=1640246403,1832676351&fm=21&gp=0.jpg"} ,
{fistImg:"http://img0.imgtn.bdimg.com/it/u=1640246403,1832676351&fm=21&gp=0.jpg"} ,
{fistImg:"http://img0.imgtn.bdimg.com/it/u=1640246403,1832676351&fm=21&gp=0.jpg"} ,
{fistImg:"http://img0.imgtn.bdimg.com/it/u=1640246403,1832676351&fm=21&gp=0.jpg"} ,
{fistImg:"http://img0.imgtn.bdimg.com/it/u=1640246403,1832676351&fm=21&gp=0.jpg"} ,
{fistImg:"http://img0.imgtn.bdimg.com/it/u=1640246403,1832676351&fm=21&gp=0.jpg"} ,
{fistImg:"http://img0.imgtn.bdimg.com/it/u=1640246403,1832676351&fm=21&gp=0.jpg"}
]
}複製代碼
隨便弄幾張圖了,看看效果如何,😄
原本還想作下詳情頁的,因爲接口的詳情是H5 ,貌似微信小程序不能直接加載H5,若有知道的朋友也能夠給我留言告訴我,本人對於H5也是一竅不通😄。
本文爲Bison原創,轉載請註明出處,不然將追究法律責任