微信小程序> 微信小程序wx.request()方法封装

微信小程序wx.request()方法封装

浏览量:4801 时间: 来源:我是一只小小虾米

微信小程序封装wx.request方法

wx.request(object)

参数名类型是否必填默认值详细说明
urlstring接口地址
dataObject/String/ArrayBuffer接口需要的入参
headerObject设置请求的 header,header 中不能设置 Referer。
methodstringget有效值:options, get, head,post,put,delete,trace, connect
dataTypestringjson如果设为json,会尝试对返回的数据做一次 JSON.parse
responseTypestringtext设置响应的数据类型。合法值:text、arraybuffer
successFunction成功返回的回调函数
failFunction用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

具体详情请访问:https://developers.weixin.qq.com/minigame/en/dev/api/network/request/wx.request.html

wx.request方法封装

js文件中(例如util.js文件):

/* 公共request 方法 */const requestUrl=({   url,   params,   success,   method="post"})={  wx.showLoading({    title: '加载中',  });  let server = 'https://developers.weixin.qq.com';//正式域名  // let server = 'http://dxxx.xxxxxxxxxx.cn';//测试域名  let sessionId=wx.getStorageSync("sid"),  that=this;  if (sessionId != "" && sessionId !=null){    var header = { 'content-type': 'application/x-www-form-urlencoded', 'Cookie': 'sid=' + sessionId }  }else{    var header = { 'content-type': 'application/x-www-form-urlencoded'}  }  return new Promise(function (resolve, reject) {    wx.request({      url: server + url,      method: method,      data: params,      header: header,      success: (res) = {        wx.hideLoading();        if (sessionId == "" || sessionId == null) {          wx.setStorageSync('sid', res.data.info.sessionId)//  如果本地没有就说明第一次请求 把返回的 sessionId 存入本地        }        if (res.data.result === 'error' || res['statusCode']!==200) {          wx.showToast({            title: res.data.msg || '请求出错',            icon: 'none',            duration: 2000,            mask: true          })        }        resolve(res.data)      },      fail: function (res) {        wx.hideLoading();        wx.showToast({          title: res.data.msg || '',          icon: 'none',          duration: 2000,          mask: true        })        reject(res.data)      },      complete: function () {        wx.hideLoading()      }    })  })    .catch((res) = { })}/* 公共showTotast  loading 方法 */module.exports = {  formatTime: formatTime,  requestUrl: requestUrl}

调用封装的方法

const util = require('../../utils/util.js') util.requestUrl({      url: "接口路径",//不需要域名,因为方法中已经拼接域名      data:{},      method:"post",      success:function(res){        console.log(res)      }    })

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎