微信小程序封装http请求

时间:2018-01-26 15:54:47   收藏:0   阅读:1670

Q:网上很多封装http请求的方法,我就收藏了一种比较通俗易懂的方法。

A:对封装的要求:一是在封装函数里设置header,发送token。二是在封装函数里对后台返回的参数作出统一处理,例如如果statusCode不返回200,统一做出异常处理,相当于过滤功能。

var API_COMMON = ‘http://192.168.2.105:8080/‘
var requestHandler = {
  params: {},
  success: function (res) {
    // success  
  },
  fail: function () {
    // fail  
  },
}

//GET请求  
function GET(url,requestHandler) {
  request(‘GET‘, url, requestHandler)
}
//POST请求  
function POST(url,requestHandler) {
  request(‘POST‘, url, requestHandler)
}

function request(method, url, requestHandler) {
  //注意:可以对params加密等处理  
  var params = requestHandler.params;
  wx.request({
    url: API_COMMON + url,
    data: params,
    method: method, // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT  
    header: { token: wx.getStorageSync(‘whToken‘) }, 
    success: function (res) {
      //注意:可以对参数解密等处理
      res.statusCode == 200 ? requestHandler.success(res) : console.log(res);
    },
    fail: function () {
      requestHandler.fail()
    },
    complete: function () {
      // complete  
    }
  })
}

调用也很简单:

    let params = {code: app.globalData.code}
    utils.POST("mp/login", {
      params: params,
      success: res => {
        console.log(res)
      }, fail: () => { }
    })

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!