開發(fā)-> 開發(fā)設(shè)置-> 服務(wù)器域名->修改request 合法域名。"/>
更新時(shí)間:2023年11月07日18時(shí)21分 來源:傳智教育 瀏覽次數(shù):
出于安全性方面的考慮,小程序官方對(duì)數(shù)據(jù)接口的請(qǐng)求做出了限制,小程序只能請(qǐng)求 HTTPS 類型的接口,必須將接口的域名添加到信任列表中。
配置request 合法域名
需求描述:假設(shè)在自己的微信小程序中,希望請(qǐng)求https://www.escook.cn/ 域名下的接口。
配置步驟:登錄微信小程序管理后臺(tái)-> 開發(fā)-> 開發(fā)設(shè)置-> 服務(wù)器域名->修改request 合法域名。
注意事項(xiàng):
①域名只支持https 協(xié)議
②域名不能使用IP 地址或localhost
③域名必須經(jīng)過ICP 備案
④服務(wù)器域名一個(gè)月內(nèi)最多可申請(qǐng)5 次修改
發(fā)起GET 請(qǐng)求
調(diào)用微信小程序提供的wx.request() 方法,可以發(fā)起GET 數(shù)據(jù)請(qǐng)求,示例代碼如下:
wx.request({ url:‘https://ww.escook.cn/api/get',//請(qǐng)求的接口地址,必須基于 https 協(xié)議 method: 'GET', //請(qǐng)求的方式 data: { //發(fā)送到服務(wù)器的數(shù)據(jù) name: ‘zs', age: 22 }, success:(res)=>{ // 請(qǐng)求成功之后的回調(diào)函數(shù) console.log(res) } })
發(fā)起POST 請(qǐng)求
調(diào)用微信小程序提供的wx.request() 方法,可以發(fā)起POST 數(shù)據(jù)請(qǐng)求,示例代碼如下:
wx.request({ url:'https://ww.escook.cn/api/post',//請(qǐng)求的接口地址,必須基于 https 協(xié)議 method:'POST', //請(qǐng)求的方式 data: { //發(fā)送到服務(wù)器的數(shù)據(jù) name: 'ls', gender:‘男' }, success:(res)=>{//請(qǐng)求成功之后的回調(diào)函數(shù) console.log(res) } })
在頁面剛加載時(shí)請(qǐng)求數(shù)據(jù)
在很多情況下,我們需要在頁面剛加載的時(shí)候,自動(dòng)請(qǐng)求一些初始化的數(shù)據(jù)。此時(shí)需要在頁面的onLoad事件中調(diào)用獲取數(shù)據(jù)的函數(shù),示例代碼如下:
跳過request 合法域名校驗(yàn)
如果后端程序員僅僅提供了http 協(xié)議的接口、暫時(shí)沒有提供https協(xié)議的接口。
此時(shí)為了不耽誤開發(fā)的進(jìn)度,我們可以在微信開發(fā)者工具中,臨時(shí)開啟「開發(fā)環(huán)境不校驗(yàn)請(qǐng)求域名、TLS 版本及HTTPS 證書」選項(xiàng),跳過request 合法域名的校驗(yàn)。
注意:
跳過request 合法域名校驗(yàn)的選項(xiàng),僅限在開發(fā)與調(diào)試階段使用!
關(guān)于跨域和Ajax的說明
跨域問題只存在于基于瀏覽器的Web 開發(fā)中。由于小程序的宿主環(huán)境不是瀏覽器,而是微信客戶端,所以小程序中不存在跨域的問題。
Ajax 技術(shù)的核心是依賴于瀏覽器中的XMLHttpRequest這個(gè)對(duì)象,由于小程序的宿主環(huán)境是微信客戶端,所以小程序中不能叫做“發(fā)起Ajax 請(qǐng)求”,而是叫做“發(fā)起網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求”。
北京校區(qū)