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