微信小程序wx.request()封装
程序员文章站
2024-03-13 23:26:34
...
微信小程序开发过程中,请求用的次数是比较多的,那么能自己每次的重复代码太多,所以还是自己封装一个请求吧,使代码越来越精简。
现在请求分为两种一种是GET一种是POST,在微信小程序的请求中POST请求的header中的'content-type'为'application/x-www-form-urlencoded',就需要做一些区分
参数详解:
url | 请求的地址 |
method | 请求方式GET或POST |
data | 请求参数 示例{'name':'张三'} |
callBack | 回调函数 |
说明:以下代码中的code具体以服务端返回的为准
// 公用网络请求
commonRequest: function(url, method, data, callBack){
//method GET或POST
var that = this,
IP = that.globalData.IP,
content_type = 'application/json',
accessToken = wx.getStorageSync('accessToken'),
longitude = wx.getStorageSync('longitude'), //经度
latitude = wx.getStorageSync('latitude'), //纬度
commParam = { 'longitude': longitude, 'latitude': latitude }, //公共参数
commParam = JSON.stringify(commParam); //公共参数转字符串
if (method == 'POST'){
content_type = 'application/x-www-form-urlencoded'
}
wx.request({
url: IP + url,
data: data,
method: method,
header: {
'content-type': content_type,
'accessToken': accessToken,
'commParam': commParam
},
success: function (res){
// console.log(res.data)
if(res.data.code == '200'){
callBack({
status: '200',
hasData: true,
datainfo: res.data.datas
})
} else if (res.data.code == '404'){
//列表数据为空
callBack({
status: '404',
hasData: false,
datainfo: ''
})
} else if (res.data.code == '504'){
//未登录或登录失效
callBack({
status: '504',
hasData: false,
datainfo: ''
})
}else {
wx.showToast({
title: res.data.message,
icon: 'none',
duration: 2000
})
}
},
fail: function (res){
wx.showToast({
title: '请求超时',
icon: 'none',
duration: 2000
})
}
})
}