麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 小程序 > 正文

微信小程序封裝的HTTP請求示例【附升級版】

2020-03-21 15:56:48
字體:
來源:轉載
供稿:網友

本文實例講述了微信小程序封裝的HTTP請求。分享給大家供大家參考,具體如下:

微信小程序里自己封裝了請求的函數,但幾乎每個頁面都要用到,所以為什么更方便的調用,再一次進行封裝。

在app.js里面定義個全局對象,這樣想要用到該函數,只需要在該頁面的js文件里面,請求一個app實例。

廢話不多說,先上代碼:

//全局對象httpClienthttpClient:{  request:function(method,url,data){    //返回一個promise實例    return new Promise( (resolve,reject)=>{       wx.request({        url:url,        data:data,        mehtod:method,        success:function(res){          resolve(res)        },        fail:function(res){          reject(res);        },        complete:function(){          console.log('complete');        }      })    })  }  //get方法:用來獲取數據  get:function( url ) {    return this.request('GET',url);  },  //post方法:用來更新數據  post:function( url,data) {    resturn this.request('POST',url,data);  },  //put方法  put:function(url,data){    return this.request('PUT', url, data);  },  //delete方法  delete:function(url,data){    return this.request('DELETE', url, data);  }

在需要請求的頁面調用:

例如:登錄頁面login.js

//獲取app實例,從而調用全局對象的函數var app=getApp();login:function(){  var url='http:xxxxx/login';  var data={    userName:'xxxxx',    passwd:'xxxxxx'  }  app.httpClient.post( url,data )    .then( res=>{console.log("請求成功時調用該函數")})    .catch(res=>{console.log("請求失敗時調用該函數")})}//為了更好的閱讀,也可以將回調函數,定義在外面//這樣loginSuccess:function(){  console.log("請求成功時調用該函數")},loginFail:function(){  console.log("請求失敗時調用該函數")},login:function(){  var self=this;  var url='http:xxxxx/login';  var data={    userName:'xxxxx',    passwd:'xxxxxx'  }  app.httpClient.post( url,data )    .then( res=>self.loginSuccess())    .catch(res=>self.loginFail())}

是不是簡潔多了。。。。

附:升級版

上代碼

// 該函數怎么寫,需要跟后端人員協商返回的格式function getErrorMsgByErrorNo(error_no) { let error_msg; switch (error_no) {  case 100: error_msg = '操作失敗,請稍后再試!'; break;  default: error_msg = '網絡錯誤,請稍后再試!'; break; } return error_msg;}function handleData(res) { if (res.data.success) {  if (typeof (res.data.body) === 'string') {   return [];  } else if (Array.isArray(res.data.body) === false) {   const _arr = [];   _arr.push(res.data.body);   return _arr;  } else {   return res.data.body;  } } else {  if (res.data.error_no) {   return {    error_no: res.data.error_no,    error_msg: getErrorMsgByErrorNo(res.data.error_no)   };  } else {   return {    error_no: 123456,    error_msg: '服務器維護中,請稍后!'   };  } }}const httpClient = { request: function (method, url, data) {  return new Promise((resolve, reject) => {   wx.request({    url: url,    data: data,    method: method,    success: function (res) {     resolve(handleData(res))    },    fail: function (err) {     console.log('request fail ', err);     resolve({      error_no: 100,      error_msg: getErrorMsgByErrorNo(100)     })    },    complete: function (res) {     console.log("request completed!");    }   })  }); }, get: function (url) {  return this.request('GET', url); }, post: function (url, data) {  return this.request('POST', url, data); }, put: function (url, data) {  return this.request('PUT', url, data); }, delete: function (url, data) {  return this.request('DELETE', url, data); },};module.exports = httpClient;

使用

function getMyselfData() { const _Url= urls.url; return httpClient.get(_Url);} getData() {  let resultsData = this.getMyselfData();  resultsData.then((res) => {   if (res.error_no) {   // 只要有error_no就說明請求出現了錯誤    this.toast.showToast({     type: 'fail',     title: res.error_msg,    })   } else {    this.setData({     journeyList: res.data    })   }  }); },

希望本文所述對大家微信小程序開發有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费黄色入口 | 97精品视频在线观看 | 视频一区国产精品 | 午夜视频久久 | 在线看免费观看av | 美国一级免费视频 | 久久一区三区 | 免费h片网站| 美国黄色毛片女人性生活片 | 国产免费观看视频 | www成人在线观看 | julieann艳星激情办公室 | 免费国产成人高清在线看软件 | 国产精品视频导航 | 久久9999久久 | 99在线在线视频免费视频观看 | 国产精品爱久久久久久久 | 色人阁在线视频 | 性猛交ⅹxxx乱巴西 欧美日韩1区2区3区 | 毛片视频网址 | 超碰97国产在线 | 国产一级不卡毛片 | 蜜桃91麻豆 | 内地av在线 | 免费a级作爱片免费观看欧洲 | 在线播放免费视频 | 久久精品资源 | 欧美精品毛片 | 亚洲欧美日韩免费 | 九九福利视频 | 国产成人高清在线观看 | 国产一级免费在线视频 | 久久国精品 | 九九热在线视频观看 | av在线在线 | 久久久噜噜噜久久熟有声小说 | 成av人在线观看 | 国产艳妇av视国产精选av一区 | 男女羞羞视频在线观看免费 | 87成人免费看片 | 一区www|