微信小程序request请求简单封装

/ 0评 / 1

简单快捷:

在utils文件夹新建request.js文件;

//request.js
const baseUrl = 'http://blog.liumingchi.com'

function request(url, method, data, loadding){
  data = data || {};
  let header = {
    'content-type': method=='GET'? 'application/json;charset=UTF-8' :'application/x-www-form-urlencoded'
  }
  if(loadding){
    wx.showNavigationBarLoading();
  }
  return new Promise(function(resolve,reject){
    wx.request({
      url: baseUrl + url,
      method: method,
      data: data,
      header: header,
      timeout: 15000,
     success: function(res){
       resolve(res)
     },
     fail: function(err){
       reject(err)
     },
     complete: function(){
      if(loadding){
        wx.hideNavigationBarLoading();
      }
     }
    })
  })
}

module.exports = {
  get: function(url, data, load){
    return request(url, 'GET', data, load)
  },
  post: function(url, data, load){
    return request(url, 'POST', data, load)
  }
}

在page页面引入使用:

//page

var $ajax = require("../../utils/request.js")

//调用
$ajax.get('/test/api',{}, true).then(res=>{
  //成功回调
},err=>{
 //出错回调
})

也可以进一步封装:

在utils文件夹新建api.js文件;

//api.js
var $ajax = require("../../utils/request.js");

/*一种方式*/
// const getData = (data, load) =>{
//   return $ajax.get('http://www.baidu.com', data ,load)
// }


// module.exports = {
//   getData: getData
// }

/*另一种方式直接暴露*/
export function getData(data, load){
  return $ajax.get('http://www.baidu.com', data ,load)
}

在page页面引入使用:

//page

const { getData } = require("../../utils/api.js");

//调用
 getData({},true).then(res=>{
   console.log(res)
 },err=>{
   console.log(err)
 })

如有错误,欢迎留言纠正!

发表评论

您的电子邮箱地址不会被公开。