微信小程序的ajax數據請求,很多同學找不到api在哪個位置,這里單獨把小程序的ajax請求給列出來,微信小程序的請求就是wx.request這個api,wx.request(一些對象參數),微信小程序不同於瀏覽器的ajax請求,可以直接跨域請求不用考慮跨域問題。
百牛信息技術bainiu.ltd整理發布於博客園
使用小程序官方提供的數據請求api發起數據請求
wx.request(OBJECT)
wx.request發起的是https請求。一個微信小程序,同時只能有5個網絡請求連接。
OBJECT參數說明:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| url | String | 是 | 開發者服務器接口地址 |
| data | Object、String | 否 | 請求的參數 |
| header | Object | 否 | 設置請求的 header , header 中不能設置 Referer |
| method | String | 否 | 默認為 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT |
| success | Function | 否 | 收到開發者服務成功返回的回調函數,res = {data: '開發者服務器返回的內容'} |
| fail | Function | 否 | 接口調用失敗的回調函數 |
| complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
示例代碼:
wx.request({
url: 'test.php', data: { x: '' , y: '' }, header: { 'Content-Type': 'application/json' }, success: function(res) { console.log(res.data) } })
微信小程序中使用fetch做ajax請求
fetch是一種新的ajax請求規范,經懶人建站測試,fetch在小程序中也是支持的,測試ajax請求代碼如下:
then中帶代碼是測試,這里是節選了小部分代碼,實際使用需要自行修改。
fetch('http://www.51xuediannao.com/json.php?typeid=34&page=1&pagesize=10')
.then(function(response){ if(response.status==200){ that.data.page++; return response.json(); } }).then(function(data){ console.log(data); //更新數據 that.setData({ listArr:that.data.page==1 ? data : that.data.listArr.concat(data) }) console.log(that.data.listArr); })
