微信小程序網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求服務(wù)實(shí)現(xiàn)詳解
一、小程序中網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求的限制
出于安全性方面的考慮,小程序官方對(duì)數(shù)據(jù)接口的請(qǐng)求做出了如下
兩個(gè)限制:
1.只能請(qǐng)求HTTPS類型的接口
2.必須將接口的域名添加到信任列表中
二、配置request合法域名
需求描述:假設(shè)在自己的微信小程序中,希望請(qǐng)求https:/ /www.yzq2ty.cn/域名下的接口
配置步驟:登錄微信小程序管理后臺(tái)->開發(fā)->開發(fā)設(shè)置->服務(wù)器域名->修改request合法域名
注意事項(xiàng):
1.域名只支持https協(xié)議
2.域名不能使用IP地址或localhost
3.域名必須經(jīng)過ICP備案
4.服務(wù)器域名一個(gè)月內(nèi)最多可申請(qǐng)5次修改
三、發(fā)起GET請(qǐng)求
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請(qǐng)求
我的項(xiàng)目在登錄時(shí),需要發(fā)起POST請(qǐng)求
import request from '../utils/request.js'
export function getLogin(username,password){
return request({
url:'/login',
method:'POST',
data:{
username,password
}
})
}五、在頁(yè)面剛加載時(shí)請(qǐng)求數(shù)據(jù)
在很多情況下,我們需要在頁(yè)面剛加載的時(shí)候,自動(dòng)請(qǐng)求- -些初始化的數(shù)據(jù) 。此時(shí)需要在頁(yè)面的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é)議的接口、暫時(shí)沒有提供https協(xié)議的接口。
此時(shí)為了不耽誤開發(fā)的進(jìn)度,我們可以在微信開發(fā)者工具中,臨時(shí)
開啟「開發(fā)環(huán)境不校驗(yàn)請(qǐng)求域名、TLS版本及HTTPS證書」
跳過request合法域名的校驗(yàn)。
七、關(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)求”。
到此這篇關(guān)于微信小程序網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求服務(wù)實(shí)現(xiàn)詳解的文章就介紹到這了,更多相關(guān)小程序數(shù)據(jù)請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
點(diǎn)擊按鈕或鏈接不跳轉(zhuǎn)只刷新頁(yè)面的腳本整理
點(diǎn)擊按鈕或鏈接時(shí)不跳轉(zhuǎn)只刷新頁(yè)面,在某些情況下還是比較實(shí)用的,下面整理些不錯(cuò)的示例,感興趣的朋友可以參考下2013-10-10
JavaScript判斷FileUpload控件上傳文件類型
在CS后臺(tái)代碼中獲取FileUpload控件上傳文件的類型是比較容易的!那么,能否在客戶端通過JavaScript腳本判斷FileUpload上傳文件類型呢?答案是可以的,下面通過一個(gè)小例子為大家展示2015-09-09
微信小程序使用GoEasy實(shí)現(xiàn)websocket實(shí)時(shí)通訊
這篇文章主要介紹了微信小程序使用GoEasy實(shí)現(xiàn)websocket實(shí)時(shí)通訊的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
javascript實(shí)現(xiàn)實(shí)時(shí)輸出當(dāng)前的時(shí)間
在網(wǎng)頁(yè)中實(shí)時(shí)的顯示時(shí)間,不但可以給網(wǎng)頁(yè)添色,還可以方便瀏覽者掌握當(dāng)前時(shí)間,為了提高網(wǎng)站的開發(fā)速度,可以把主代碼封裝在一個(gè)單獨(dú)的函數(shù)里面,在需要的時(shí)候直接調(diào)用而我為了演示,直接寫在了主頁(yè)面,方便大家觀看2015-04-04
JavaScript代碼實(shí)現(xiàn)簡(jiǎn)單日歷效果
這篇文章主要為大家詳細(xì)介紹了JavaScript代碼實(shí)現(xiàn)簡(jiǎn)單日歷效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04

