This article mainly introduces the relevant information on the detailed explanation of simple encapsulation examples of network requests in WeChat mini programs. Friends in need can refer to
Detailed explanations of simple encapsulation examples of network requests in WeChat mini programs
Implementing network requests in WeChat applet is much simpler than Android. We only need to use the API provided by it to solve the network request problem.
Normal HTTPS request (wx.request)
Upload file (wx.uploadFile)
Download file (wx.downloadFile)
"networkTimeout": { "request": 5000, "connectSocket": 5000, "uploadFile": 5000, "downloadFile": 5000 }
// 展示进度条的网络请求 // url:网络请求的url // params:请求参数 // message:进度条的提示信息 // success:成功的回调函数 // fail:失败的回调 function requestLoading(url, params, message, success, fail) { console.log(params) wx.showLoading({ title: message, }) wx.request({ url: url, data: params, header: { 'content-type': 'application/x-www-form-urlencoded' }, method: 'post', success: function (res) { //console.log(res.data) wx.hideLoading() if (res.statusCode == 200) { success(res.data) } else { fail() } }, fail: function (res) { wx.hideLoading() fail() }, complete: function (res) { }, }) }
When the network request is successful and the status code is 200, the requested data is called back to our method through success(res.data). We have not broken down the reasons for the failure above. Of course, you can also You can add a parameter to the failure callback to prompt the user for the reason for the failure. For example, if
res.statusCode ==500 prompts an internal server error, if res.statusCode ==-1 prompts you to check the network, res. statusCode ==404, address not found, etc.
Then we create a request function that does not display the dialog box and requests data from the user background. In order to write less code, we share the above function, as follows
//不显示对话框的请求 function request(url, params, success, fail) { this.requestLoading(url, params, "", success, fail) }
The final code
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/json' 'content-type': 'application/x-www-form-urlencoded' }, method: 'post', success: function (res) { //console.log(res.data) 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") getData:function(){ network.requestLoading(URL.MY_SCORE, that.data.params, '正在加载数据', function (res) { //res就是我们请求接口返回的数据 console.log(res) }, function () { wx.showToast({ title: '加载数据失败', }) }) }
The above is the detailed content of WeChat applet implements a code example of simple encapsulation of network requests. For more information, please follow other related articles on the PHP Chinese website!