亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

微信小程序之網絡請求簡單封裝實例詳解

2019-11-19 16:13:47
字體:
來源:轉載
供稿:網友

微信小程序之網絡請求簡單封裝實例詳解

在微信小程序中實現網絡請求相對于Android來說感覺簡單很多,我們只需要使用其提供的API就可以解決網絡請求問題。

  • 普通HTTPS請求(wx.request)
  • 上傳文件(wx.uploadFile)
  • 下載文件(wx.downloadFile)
  • WebSocket通信(wx.connectSocket)

為了數據安全,微信小程序網絡請求只支持https,當然各個參數的含義就不在細說,不熟悉的話可以;可以去閱讀官方文檔的網絡請求api,當我們使用request時header的content-typ默認是application/json,在文檔中指出method 的value必須是大寫,不過經過測試,小寫也能請求成功。request默認的超時時間是60s,如果我們想自定義超時時間,我們可以在app.json中加入下面代碼片段,分別設置request,socket,和上傳文件及下載文件的超時時間。

"networkTimeout": {  "request": 5000,  "connectSocket": 5000,  "uploadFile": 5000,  "downloadFile": 5000 }

設置過超時時間,我們就開始封裝網絡請求,平時我們所接觸的網絡請求,一般會分為兩類,一類是在后臺運行的,沒有加載對話框提示,另一種就是有提示,如提示正在加載數據,,那么我們就以此為線索來進行封裝。先創建一個network的網絡請求工具類,然后

// 展示進度條的網絡請求// url:網絡請求的url// params:請求參數// message:進度條的提示信息// success:成功的回調函數// fail:失敗的回調function requestLoading(url, params, message, success, fail) { console.log(params)  wx.showLoading({   title: message,  }) wx.request({  url: url,  data: params,  header: {   'content-type': 'application/x-www-form-urlencoded'  },  method: 'post',  success: function (res) {   //console.log(res.data)    wx.hideLoading()   if (res.statusCode == 200) {    success(res.data)   } else {    fail()   }  },  fail: function (res) {    wx.hideLoading()    fail()  },  complete: function (res) {  }, })}

上面函數很好理解,參數的含義已在代碼中解釋,在網絡請求開始前,先展示Loading對話框,提示用戶當前網絡正在請求數據,當網絡請求成功或者失敗后調用wx.hideLoading()取消提示框的展示。在api中還提供了wx.showNavigationBarLoading()用于顯示當前頁面的導航條加載動畫,那么如果我們想展示這個動畫可以在requestLoading執行開始調用wx.showNavigationBarLoading(),然后在網絡請求成功或者失敗后調用wx.hideNavigationBarLoading()隱藏導航欄加載動畫。

當網絡請求成功并且狀態碼為200時,將請求到的數據回調通過success(res.data)回調給我們的方法,在上面我們沒有對失敗原因進行細分,當然你也可以給失敗回調加個參數,用于提示用戶失敗的原因,如res.statusCode ==500時提示服務器內部錯誤,res.statusCode ==-1時提示請檢查網絡,res.statusCode ==404,找不到地址等等。

然后我們在創建一個不顯示對話框,用戶后臺請求數據的請求函數,為了少寫代碼,我們共用上面的函數,如下

//不顯示對話框的請求function request(url, params, success, fail) { this.requestLoading(url, params, "", success, fail)}

我們看到我們最終還是調用的requestLoading,那么我們可以在該函數作下判斷,如果提示信息message==''就不顯示對話框。

最終的代碼

function request(url, params, success, fail) { this.requestLoading(url, params, "", success, fail)}// 展示進度條的網絡請求// url:網絡請求的url// params:請求參數// message:進度條的提示信息// success:成功的回調函數// fail:失敗的回調function requestLoading(url, params, message, success, fail) { console.log(params) wx.showNavigationBarLoading() if (message != "") {  wx.showLoading({   title: message,  }) } wx.request({  url: url,  data: params,  header: {   //'Content-Type': 'application/json'   'content-type': 'application/x-www-form-urlencoded'  },  method: 'post',  success: function (res) {   //console.log(res.data)   wx.hideNavigationBarLoading()   if (message != "") {    wx.hideLoading()   }   if (res.statusCode == 200) {    success(res.data)   } else {    fail()   }  },  fail: function (res) {   wx.hideNavigationBarLoading()   if (message != "") {    wx.hideLoading()   }   fail()  },  complete: function (res) {  }, })}module.exports = { request: request, requestLoading: requestLoading}

使用就很簡單了,如下

//路徑根據自己項目路徑修改var network = require("/utils/network.js")getData:function(){  network.requestLoading(URL.MY_SCORE, that.data.params, '正在加載數據', function (res) {  //res就是我們請求接口返回的數據   console.log(res)  }, function () {   wx.showToast({    title: '加載數據失敗',   })  })}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成年人影院在线| 2020欧美日韩在线视频| 亚洲国语精品自产拍在线观看| 亚洲激情小视频| 欧美在线观看日本一区| 久久天天躁夜夜躁狠狠躁2022| 亚洲激情久久久| 亚洲欧美中文字幕| 亚洲成**性毛茸茸| 91在线观看免费高清| 欧美在线观看视频| 中文字幕亚洲欧美日韩在线不卡| 最近2019年中文视频免费在线观看| 国产精品视频久久| 久久久久久尹人网香蕉| 欧美性受xxxx黑人猛交| 亚洲性视频网站| 亚洲精品日韩欧美| 亚洲第一页中文字幕| 欧美视频在线看| 日本中文字幕不卡免费| 在线国产精品视频| 欧美在线不卡区| 亚洲二区中文字幕| 亚洲欧洲在线播放| 国产精品久久色| 日本精品免费一区二区三区| 日韩一区在线视频| 国产精品黄色影片导航在线观看| 国产精品中文在线| 欧美激情在线有限公司| 欧美视频一区二区三区…| 亚洲国产私拍精品国模在线观看| 久久久999精品免费| 国产精品扒开腿爽爽爽视频| 亚洲精品美女久久久| 91久久精品在线| 国产精品成人av在线| 欧美高清在线播放| 大荫蒂欧美视频另类xxxx| 久久五月天色综合| 亚洲自拍偷拍福利| 日韩欧美在线网址| 日本19禁啪啪免费观看www| 国产欧美日韩精品专区| 欧美国产日韩中文字幕在线| 欧美激情一区二区三区高清视频| 夜夜嗨av色一区二区不卡| 亚洲一区二区三区视频播放| 欧美高清视频免费观看| 日韩精品日韩在线观看| 国产欧美精品日韩| 亚洲欧美日本另类| 欧洲精品久久久| 一区二区三区四区视频| 亚洲第一在线视频| 久久精品成人一区二区三区| 97涩涩爰在线观看亚洲| 俺去啦;欧美日韩| 精品国产视频在线| 欧美亚洲第一区| 国产精品久久久久福利| 亚洲精品久久久久久久久久久久久| 久久亚洲精品小早川怜子66| 亚洲精品久久久久久久久久久久| 国产97色在线| 国产精品久久久久久影视| 亚洲综合一区二区不卡| 亚洲已满18点击进入在线看片| 高清欧美性猛交| 欧美视频中文在线看| 亚洲第一免费播放区| 97超级碰碰碰| 久久久999精品免费| 日韩av免费在线| 66m—66摸成人免费视频| 欧美成人手机在线| 久久人人看视频| 久久999免费视频| 97视频在线免费观看| 欧美丰满少妇xxxx| 国产精品wwww| 亚洲天堂开心观看| 全亚洲最色的网站在线观看| 日本午夜在线亚洲.国产| 中文字幕亚洲欧美日韩在线不卡| 亚洲黄色av网站| 久久久之久亚州精品露出| 91久久中文字幕| 欧美乱大交做爰xxxⅹ性3| xxx欧美精品| 欧美激情精品在线| 日韩成人av一区| 日av在线播放中文不卡| 欧美性20hd另类| 久久精品国产亚洲精品2020| 亚洲毛片在线观看.| 亚洲天堂成人在线视频| 日韩日本欧美亚洲| 日本视频久久久| 亚洲黄色成人网| 成人有码在线视频| 精品无人国产偷自产在线| 亚洲亚裔videos黑人hd| 国产精品久久久久77777| 51午夜精品视频| 欧美猛交ⅹxxx乱大交视频| 亚洲欧洲成视频免费观看| 日本一本a高清免费不卡| 欧美成年人视频网站欧美| 亚洲白虎美女被爆操| 91日本在线观看| 欧美黄色小视频| 欧美视频13p| 久久精品国产久精国产一老狼| 久久成年人免费电影| 中文国产成人精品久久一| 成人羞羞国产免费| 96精品视频在线| 欧美激情aaaa| 亚洲精品电影网在线观看| 亚洲精品短视频| 日日噜噜噜夜夜爽亚洲精品| 欧美国产视频日韩| 中文字幕久久久| 91精品视频在线免费观看| 欧美xxxx14xxxxx性爽| 日本欧美黄网站| 国产精品免费一区| 91精品国产精品| 久久成年人视频| 日韩中文字幕在线视频播放| 国产精品久久久久久久久久久不卡| 国产精品日韩久久久久| 日韩中文字幕久久| 国产精品免费一区豆花| 久久精品视频va| 欧美精品久久久久a| 国产在线播放不卡| 欧洲午夜精品久久久| 亚洲精品动漫100p| 亚洲另类激情图| 久久国产精品久久久| 成人性教育视频在线观看| 亚洲国产精品va在线| 国产视频精品xxxx| 日韩欧美中文字幕在线播放| 日韩欧美在线看| 欧美性猛交xxxx乱大交| 日韩精品中文字幕久久臀| 国产成人精品a视频一区www| 深夜福利91大全| 91大神在线播放精品| 成人中文字幕+乱码+中文字幕| 欧美壮男野外gaytube| 亚洲精品国产免费| 91经典在线视频| 国内精品伊人久久| 国产成人在线亚洲欧美| 最近2019中文字幕第三页视频| 欧美另类高清videos| 中文字幕日韩精品在线| 国产丝袜一区二区三区免费视频| 国产精品久久久久久久久久ktv|