封装自定义函数:
新建js文件保存自定义函数,如:…/utils/network.js,在utils里封装的方法想要在外部使用必须通过 module.exports 或者 exports 对外暴露接口。
function request(url, params, success, fail) {
this.requestLoading(url, params, "", success, fail)
}
// url:网络请求的url
// params:请求参数
// message:提示信息
// success:成功的回调函数
// fail:失败的回调函数
function requestLoading(url, params, message, success, fail) {
console.log(params)
wx.showNavigationBarLoading()
if (message != "") {
wx.showLoading({
title: message,
})
}
wx.request({
url: url,
data: params,
header: { 'content-type': 'application/x-www-form-urlencoded' },
method: 'post',
success: function (res) {
wx.hideNavigationBarLoading()
if (message != "") {
wx.hideLoading()
}
if (res.statusCode == 200) {
success(res.data)
} else {
fail()
}
},
fail: function (res) {
wx.hideNavigationBarLoading()
if (message != "") {
wx.hideLoading()
}
fail()
},
complete: function (res) {
},
})
}
module.exports = {
request: request,
requestLoading: requestLoading
}
函数调用:
var network = require("../../utils/network.js") //注意../../,否则会报Error: module "pages/utils/network.js" is not defined
getData:function(){
network.requestLoading(url, params, '正在加载数据', function (res) { //res就是接口返回的数据
console.log(res)
}, function () {
wx.showToast({
title: '加载数据失败',
})
})
}