The content of this article is about encapsulating get requests and post requests in mini programs into global functions (code). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you. .
First copy this code in app.js
/** * methods: 请求方式 * url: 请求地址 * data: 要传递的参数 * callback: 请求成功回调函数 * errFun: 请求失败回调函数 */ appRequest(methods, url, data, callback, errFun) { wx.request({ url: url, method: methods, header: { 'content-type': methods == 'GET' ? 'application/json' : 'application/x-www-form-urlencoded' }, dataType: 'json', data: data, success: function (res) { callback(res.data); }, fail: function (err) { errFun(err); } }) },
The first is the get request
const app = new getApp();// page/a/a.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //懒人的写法 URL过长和传参多的时候比较不美观 app.appRequest('get', 'https://www.apiopen.top/satinApi?type=1&page=1', {}, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); //稍微优雅一点的写法,其实就是多一行代码,但是美观多了,也好维护 let url = 'https://www.apiopen.top/satinApi?type=1&page=1'; app.appRequest('get', url, {}, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); } })
When making the get request, the data parameter is written as { } That's it
Then post request
const app = new getApp();// page/b/b.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //懒人的写法 URL过长和传参多的时候比较不美观 app.appRequest('post', 'https://www.apiopen.top/satinApi', { type:1, page:1 }, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); //稍微优雅一点的写法,其实就是多一行代码,但是美观多了,也好维护 let url = 'https://www.apiopen.top/satinApi'; let data = { type: 1, page: 1 } app.appRequest('post', url, data, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); } })
Of course, if every URL is on the page, it will increase the maintenance cost, so all interfaces should Place it in a file, I chose to place it in app.js. The following is how I write
//app.js里面添加全局属性,和一个函数//全局请求URL处理函数 globalRequestUrl(domainName, site) { return this.globalData[domainName] + this.globalData[site] },//全局所有请求Url globalData: { domainNameA: 'https://www.apiopen.top',//请求域名A domainNameB: 'https://www.apiopen.top',//请求域名B siteA: '/satinApi' }
Use the global request URL processing function to use the get request in page C
const app = new getApp();// page/c/c.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //懒人的写法 URL过长和传参多的时候比较不美观 app.appRequest('get', app.globalRequestUrl('domainNameA','siteA'), {}, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); //稍微优雅一点的写法,其实就是多一行代码,但是美观多了,也好维护 let url = app.globalRequestUrl('domainNameA','siteA'); app.appRequest('get', url, {}, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); } })
Use the global request URL processing function to use the get request in page D Post request is used inside
const app = new getApp();// page/d/d.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //懒人的写法 URL过长和传参多的时候比较不美观 app.appRequest('post', app.globalRequestUrl('domainNameA','siteA'), { type:1, page:1 }, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); //稍微优雅一点的写法,其实就是多一行代码,但是美观多了,也好维护 let url = app.globalRequestUrl('domainNameA','siteA'); let data = { type: 1, page: 1 } app.appRequest('post', url, data, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); } })
//传说中一行完成请求的代码在此,哈哈哈哈哈 app.appRequest('get', app.globalRequestUrl('domainNameA', 'siteA'), {}, (res) => {console.log(res)});
Related recommendations:
More code examples to implement page pull-down refresh and pull-up loading in WeChat applet
How to set global variables (code) in the WeChat applet
How to implement synchronous requests in the WeChat applet
The above is the detailed content of Encapsulate get requests and post requests in mini programs into global functions (code). For more information, please follow other related articles on the PHP Chinese website!