微信小程序請求封裝(http請求詳解)

如果你做過Angular或者Vue的話忘朝,你會發(fā)現(xiàn),微信小程序跟他們有很多相似的地方判帮,相比來說局嘁,小程序要簡單一些。http請求的封裝也是一樣晦墙,廢話不多說 悦昵,直接上步驟。

1晌畅、創(chuàng)建一個http.js,代碼如下:

let rootUrl = "http://www.baidu.com";//具體接口域名根據(jù)你的實際情況填寫
function getData(url,data,cb){
    wx.request({
        url : rootUrl + url,
        data: data,
        method: 'post',
        header: {
          // "Content-Type": "json",   //get請求時候
          "Content-Type": "application/x-www-form-urlencoded" //POST請求的時候這樣寫
        },  
        success: function(res){  
            return typeof cb == "function" && cb(res.data)  
        },  
        fail: function(){  
            return typeof cb == "function" && cb(false)  
        }  
    })
}
module.exports = {
    req : getData //暴露一個方法
}

這段代碼有個坑:就是那個請求頭header但指,如果是get請求

header{
  "Content-Type": "json"
}

如果是post請求

header{
  "Content-Type": "application/x-www-form-urlencoded" //POST請求的時候這樣寫
}

2、在小程序app.js里配置全局函數(shù)

var http = require('http/http.js')  //引入剛創(chuàng)建的http.js,地址根據(jù)自己的地址填寫
App({
  onLaunch: function() {
    //調用API從本地緩存中獲取數(shù)據(jù)
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  },
  getUserInfo: function(cb) {
    var that = this
    if (this.globalData.userInfo) {
      typeof cb == "function" && cb(this.globalData.userInfo)
    } else {
      //調用登錄接口
      wx.getUserInfo({
        withCredentials: false,
        success: function(res) {
          that.globalData.userInfo = res.userInfo
          typeof cb == "function" && cb(that.globalData.userInfo)
        }
      })
    }
  },
  globalData: {
    userInfo: null
  },
  func:{
    req:http.req  //這里配置我們需要的方法
  }
})

3抗楔、在項目代碼中調用方法

var app = getApp() ;
Page({
  data: {
    title:"111111"
  },
  //事件處理函數(shù)
  changeMenus: function(){
      let postdata = {
         userId:12
      }
      app.func.req('/abner/web/getUserByOpenId',postdata,(res)=>{  
           console.log(res)
      }
    })
  }
})
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末棋凳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子连躏,更是在濱河造成了極大的恐慌剩岳,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件入热,死亡現(xiàn)場離奇詭異拍棕,居然都是意外死亡,警方通過查閱死者的電腦和手機勺良,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門绰播,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人郑气,你說我怎么就攤上這事幅垮。” “怎么了尾组?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵忙芒,是天一觀的道長。 經(jīng)常有香客問我讳侨,道長呵萨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任跨跨,我火速辦了婚禮潮峦,結果婚禮上囱皿,老公的妹妹穿的比我還像新娘。我一直安慰自己忱嘹,他們只是感情好嘱腥,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拘悦,像睡著了一般齿兔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上础米,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天分苇,我揣著相機與錄音,去河邊找鬼屁桑。 笑死医寿,一個胖子當著我的面吹牛,可吹牛的內容都是我干的蘑斧。 我是一名探鬼主播靖秩,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼乌叶!你這毒婦竟也來了盆偿?” 一聲冷哼從身側響起柒爸,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤准浴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捎稚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乐横,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年今野,在試婚紗的時候發(fā)現(xiàn)自己被綠了葡公。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡条霜,死狀恐怖催什,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情宰睡,我是刑警寧澤蒲凶,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站拆内,受9級特大地震影響旋圆,放射性物質發(fā)生泄漏。R本人自食惡果不足惜麸恍,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一灵巧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦刻肄、人聲如沸瓤球。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冰垄。三九已至,卻和暖如春权她,著一層夾襖步出監(jiān)牢的瞬間虹茶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工隅要, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蝴罪,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓步清,卻偏偏與公主長得像要门,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子廓啊,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內容