老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)

微信小程序中網(wǎng)絡(luò)請(qǐng)求如何封裝-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“微信小程序中網(wǎng)絡(luò)請(qǐng)求如何封裝”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司專注于富拉爾基企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城開發(fā)。富拉爾基網(wǎng)站建設(shè)公司,為富拉爾基等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

微信小程序之網(wǎng)絡(luò)請(qǐng)求簡(jiǎn)單封裝實(shí)例詳解

在微信小程序中實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求相對(duì)于Android來說感覺簡(jiǎn)單很多,我們只需要使用其提供的API就可以解決網(wǎng)絡(luò)請(qǐng)求問題。

  • 普通HTTPS請(qǐng)求(wx.request)

  • 上傳文件(wx.uploadFile)

  • 下載文件(wx.downloadFile)

  • WebSocket通信(wx.connectSocket)


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

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

設(shè)置過超時(shí)時(shí)間,我們就開始封裝網(wǎng)絡(luò)請(qǐng)求,平時(shí)我們所接觸的網(wǎng)絡(luò)請(qǐng)求,一般會(huì)分為兩類,一類是在后臺(tái)運(yùn)行的,沒有加載對(duì)話框提示,另一種就是有提示,如提示正在加載數(shù)據(jù),,那么我們就以此為線索來進(jìn)行封裝。先創(chuàng)建一個(gè)network的網(wǎng)絡(luò)請(qǐng)求工具類,然后

// 展示進(jìn)度條的網(wǎng)絡(luò)請(qǐng)求
// url:網(wǎng)絡(luò)請(qǐng)求的url
// params:請(qǐng)求參數(shù)
// message:進(jìn)度條的提示信息
// success:成功的回調(diào)函數(shù)
// fail:失敗的回調(diào)
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) {

  },
 })
}

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

當(dāng)網(wǎng)絡(luò)請(qǐng)求成功并且狀態(tài)碼為200時(shí),將請(qǐng)求到的數(shù)據(jù)回調(diào)通過success(res.data)回調(diào)給我們的方法,在上面我們沒有對(duì)失敗原因進(jìn)行細(xì)分,當(dāng)然你也可以給失敗回調(diào)加個(gè)參數(shù),用于提示用戶失敗的原因,如res.statusCode ==500時(shí)提示服務(wù)器內(nèi)部錯(cuò)誤,res.statusCode ==-1時(shí)提示請(qǐng)檢查網(wǎng)絡(luò),res.statusCode ==404,找不到地址等等。


然后我們?cè)趧?chuàng)建一個(gè)不顯示對(duì)話框,用戶后臺(tái)請(qǐng)求數(shù)據(jù)的請(qǐng)求函數(shù),為了少寫代碼,我們共用上面的函數(shù),如下

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

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


最終的代碼

function request(url, params, success, fail) {
 this.requestLoading(url, params, "", success, fail)
}
// 展示進(jìn)度條的網(wǎng)絡(luò)請(qǐng)求
// url:網(wǎng)絡(luò)請(qǐng)求的url
// params:請(qǐng)求參數(shù)
// message:進(jìn)度條的提示信息
// success:成功的回調(diào)函數(shù)
// fail:失敗的回調(diào)
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
}

使用就很簡(jiǎn)單了,如下

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

“微信小程序中網(wǎng)絡(luò)請(qǐng)求如何封裝”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


當(dāng)前文章:微信小程序中網(wǎng)絡(luò)請(qǐng)求如何封裝-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://www.xueling.net.cn/article/jehhg.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: youjizz日韩| 脱了美女内裤猛烈啪啪爽 | 日韩av中文字幕一区二区 | 亚洲精品美女色诱在线播放 | 我要看一级黄色 | 人妻无码中文专区久久五月婷 | 黄网站色视频免费大全 | 性生活久久久 | 一级女性生活片 | Chinese国产HD精品实拍 | 亚洲精品国产精品国自 | av录像免费片 | 国产免费高清av | 992人人草 | 樱桃熟了A级毛片 | 青草视频在线观看视频 | 91视频免费在线观看 | 丰满人妻无奈张开双腿AV | 欧美a性 | 99精品视频在线观看免费播放 | 亚洲精品成人无限看 | sss海量视频在线观看 | 亚洲第一精品无码 | 国产成人无码A在线观看不卡 | 日本高清不卡在线观看 | 大象视频成人看免费网站 | 5566先锋影音夜色资源站在线观看 | 国产精品久久久久久久久免费高清 | 中文字幕久久波多野结衣av不卡 | 黄污视频在线免费观看 | 国产一区二区三区日韩 | 日韩人妻一区二区三区蜜桃视频 | 欧美在线一区二区三区四区 | 欧美黑人巨大videos精品 | 奇米影视第4色 | 欧美性猛交久久久乱大交小说 | 国产亚洲精品成人av久久果冻 | tobu8日本高清在线观看 | 亚洲卡一卡二新区永久时长 | 久久久久成人免费视频 | 插吧插吧综合网 |