欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

微信小程序?qū)崿F(xiàn)網(wǎng)絡(luò)請(qǐng)求簡(jiǎn)單封裝的示例-創(chuàng)新互聯(lián)

小編給大家分享一下微信小程序?qū)崿F(xiàn)網(wǎng)絡(luò)請(qǐng)求簡(jiǎn)單封裝的示例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括隆安網(wǎng)站建設(shè)、隆安網(wǎng)站制作、隆安網(wǎng)頁(yè)制作以及隆安網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,隆安網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到隆安省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!

微信小程序之網(wǎng)絡(luò)請(qǐng)求簡(jiǎn)單封裝的示例

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

  • 普通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ì)說(shuō),不熟悉的話(huà)可以;可以去閱讀官方文檔的網(wǎng)絡(luò)請(qǐng)求api,當(dāng)我們使用request時(shí)header的content-typ默認(rèn)是application/json,在文檔中指出method 的value必須是大寫(xiě),不過(guò)經(jīng)過(guò)測(cè)試,小寫(xiě)也能請(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è)置過(guò)超時(shí)時(shí)間,我們就開(kāi)始封裝網(wǎng)絡(luò)請(qǐng)求,平時(shí)我們所接觸的網(wǎng)絡(luò)請(qǐng)求,一般會(huì)分為兩類(lèi),一類(lèi)是在后臺(tái)運(yùn)行的,沒(méi)有加載對(duì)話(huà)框提示,另一種就是有提示,如提示正在加載數(shù)據(jù),,那么我們就以此為線(xiàn)索來(lái)進(jìn)行封裝。先創(chuàng)建一個(gè)network的網(wǎng)絡(luò)請(qǐng)求工具類(lèi),然后

// 展示進(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ù)的含義已在代碼中解釋?zhuān)诰W(wǎng)絡(luò)請(qǐng)求開(kāi)始前,先展示Loading對(duì)話(huà)框,提示用戶(hù)當(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)前頁(yè)面的導(dǎo)航條加載動(dòng)畫(huà),那么如果我們想展示這個(gè)動(dòng)畫(huà)可以在requestLoading執(zhí)行開(kāi)始調(diào)用wx.showNavigationBarLoading(),然后在網(wǎng)絡(luò)請(qǐng)求成功或者失敗后調(diào)用wx.hideNavigationBarLoading()隱藏導(dǎo)航欄加載動(dòng)畫(huà)。

當(dāng)網(wǎng)絡(luò)請(qǐng)求成功并且狀態(tài)碼為200時(shí),將請(qǐng)求到的數(shù)據(jù)回調(diào)通過(guò)success(res.data)回調(diào)給我們的方法,在上面我們沒(méi)有對(duì)失敗原因進(jìn)行細(xì)分,當(dāng)然你也可以給失敗回調(diào)加個(gè)參數(shù),用于提示用戶(hù)失敗的原因,如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ì)話(huà)框,用戶(hù)后臺(tái)請(qǐng)求數(shù)據(jù)的請(qǐng)求函數(shù),為了少寫(xiě)代碼,我們共用上面的函數(shù),如下

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

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


最終的代碼

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ù)失敗',
   })
  })
}

看完了這篇文章,相信你對(duì)“微信小程序?qū)崿F(xiàn)網(wǎng)絡(luò)請(qǐng)求簡(jiǎn)單封裝的示例”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享文章:微信小程序?qū)崿F(xiàn)網(wǎng)絡(luò)請(qǐng)求簡(jiǎn)單封裝的示例-創(chuàng)新互聯(lián)
鏈接地址:http://www.chinadenli.net/article22/dcshcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化網(wǎng)頁(yè)設(shè)計(jì)公司品牌網(wǎng)站建設(shè)標(biāo)簽優(yōu)化外貿(mào)建站網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化