封裝小程式中get請求和post請求成全域函數(程式碼)
這篇文章帶給大家的內容是關於 封裝小程式中get請求和post請求成全域函數(程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
首先在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); } }) },
首先是get請求
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); }); } })
get請求時,data傳參寫為{ } 即可
然後是post請求
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); }); } })
當然了,如果每個URL都在頁面上面那就增大了維護成本,所以所有介面都應該放置在一個文件,我是選擇放在app.js裡面。下面是我的寫法
//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' }
使用全域請求URL處理函數在頁面C裡面使用get請求
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); }); } })
使用全域請求URL處理函數在頁面D裡面使用post請求
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)});
相關推薦:
以上是封裝小程式中get請求和post請求成全域函數(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本文討論了在瀏覽器中優化JavaScript性能的策略,重點是減少執行時間並最大程度地減少對頁面負載速度的影響。

本文討論了使用瀏覽器開發人員工具的有效JavaScript調試,專注於設置斷點,使用控制台和分析性能。

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

本文說明瞭如何使用源地圖通過將其映射回原始代碼來調試JAVASCRIPT。它討論了啟用源地圖,設置斷點以及使用Chrome DevTools和WebPack之類的工具。

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

深入探討console.log輸出差異的根源本文將分析一段代碼中console.log函數輸出結果的差異,並解釋其背後的原因。 �...
