微信小程序網(wǎng)絡(luò)數(shù)據(jù)請求服務(wù)實(shí)現(xiàn)詳解
一、小程序中網(wǎng)絡(luò)數(shù)據(jù)請求的限制
出于安全性方面的考慮,小程序官方對數(shù)據(jù)接口的請求做出了如下
兩個限制:
1.只能請求HTTPS類型的接口
2.必須將接口的域名添加到信任列表中
二、配置request合法域名
需求描述:假設(shè)在自己的微信小程序中,希望請求https:/ /www.yzq2ty.cn/域名下的接口
配置步驟:登錄微信小程序管理后臺->開發(fā)->開發(fā)設(shè)置->服務(wù)器域名->修改request合法域名
注意事項(xiàng):
1.域名只支持https協(xié)議
2.域名不能使用IP地址或localhost
3.域名必須經(jīng)過ICP備案
4.服務(wù)器域名一個月內(nèi)最多可申請5次修改
三、發(fā)起GET請求
uni.request({ url:baseURL+options.url, method:options.method || 'GET', data:options.data ||{}, header:options.header||{}, dataType:options.dataType||'json', success: (res) => { resolve(res.data) }, fail:(err)=>{ reject(err) } })
四、發(fā)起POST請求
我的項(xiàng)目在登錄時,需要發(fā)起POST請求
import request from '../utils/request.js' export function getLogin(username,password){ return request({ url:'/login', method:'POST', data:{ username,password } }) }
五、在頁面剛加載時請求數(shù)據(jù)
在很多情況下,我們需要在頁面剛加載的時候,自動請求- -些初始化的數(shù)據(jù) 。此時需要在頁面的onLoad事件中調(diào)用獲取數(shù)據(jù)的函數(shù),示例代碼如下:
onLoad() { uni.getSystemInfo({//獲取系統(tǒng)信息 success: (res) => { // #ifdef H5 this.scrollH = res.windowHeight - uni.upx2px(88) //#endif // #ifndef H5 this.scrollH = res.windowHeight - uni.upx2px(225) //#endif } }), this.gethome() this.qqmapsdk = new QQMapWX({ key: '3SUBZ-W5BCQ-FLM5G-GYOPG-D523V-DUFNH' }); },
六、跳過request合法域名校驗(yàn)
如果后端程序員僅僅提供了http協(xié)議的接口、暫時沒有提供https協(xié)議的接口。
此時為了不耽誤開發(fā)的進(jìn)度,我們可以在微信開發(fā)者工具中,臨時
開啟「開發(fā)環(huán)境不校驗(yàn)請求域名、TLS版本及HTTPS證書」
跳過request合法域名的校驗(yàn)。
七、關(guān)于跨域和Ajax的說明
跨域問題只存在于基于瀏覽器的Web開發(fā)中。由于小程序的宿主環(huán)境不是瀏覽器,而是微信客戶端,所以小程序中不存在跨域的問題。
Ajax技術(shù)的核心是依賴于瀏覽器中的XMLHttpRequest這個對象,由于小程序的宿主環(huán)境是微信客戶端,所以小程序中不能叫做“ 發(fā)起Ajax請求”,而是叫做“ 發(fā)起網(wǎng)絡(luò)數(shù)據(jù)請求”。
到此這篇關(guān)于微信小程序網(wǎng)絡(luò)數(shù)據(jù)請求服務(wù)實(shí)現(xiàn)詳解的文章就介紹到這了,更多相關(guān)小程序數(shù)據(jù)請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
chatGPT前端流式輸出js實(shí)現(xiàn)三種方法—fetch、SSE、websocket
項(xiàng)目需要接入chatgpt提供的api,后端返回流式的字符,前端接收并實(shí)時顯示,在JavaScript中,使用Stream流通常指的是處理數(shù)據(jù)流的一種方式,它們允許數(shù)據(jù)被處理成塊,而不是一次性處理整個數(shù)據(jù)集,這對于處理大量數(shù)據(jù)或者來自網(wǎng)絡(luò)請求的數(shù)據(jù)非常有用,2024-07-07通過location.replace禁止瀏覽器后退防止重復(fù)提交
如果用戶重復(fù)提交事件,然后又后退,這樣可能會對某些數(shù)據(jù)產(chǎn)生災(zāi)難性的問題。所以今天就向大家介紹一種通過location.replace禁止瀏覽器后退按鈕的方法2014-09-09JS實(shí)現(xiàn)二維數(shù)組橫縱列轉(zhuǎn)置的方法
下面小編就為大家分享一篇JS實(shí)現(xiàn)二維數(shù)組橫縱列轉(zhuǎn)置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04js獲取當(dāng)前日期昨天、今天、明天日期的不同方法總結(jié)
JS中處理日期時間常用Date對象,下面這篇文章主要給大家介紹了關(guān)于利用js獲取當(dāng)前日期昨天、今天、明天日期的不同方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11firefox firebug中文入門教程 腳本之家新年特別版
最近看了一篇文章感觸頗深,對于firebug作為腳本之家的編輯經(jīng)常看的到,但可悲的是沒怎么用過,不是不用那個而是不會用,剛好看了一篇基礎(chǔ)的文章特別整理下。2010-01-01js 遞歸json樹實(shí)現(xiàn)根據(jù)子id查父id的方法分析
這篇文章主要介紹了js 遞歸json樹實(shí)現(xiàn)根據(jù)子id查父id的方法,結(jié)合實(shí)例形式分析了JavaScript遞歸遍歷json進(jìn)行數(shù)據(jù)查詢的相關(guān)操作技巧,需要的朋友可以參考下2019-11-11