知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >
微信小程序開(kāi)發(fā)實(shí)戰(zhàn)(21):發(fā)起HTTPS請(qǐng)求
發(fā)表時(shí)間:2021-1-11
發(fā)布人:葵宇科技
瀏覽次數(shù):67
在 wx 對(duì)象中有一個(gè) request 方法,可以發(fā)起 HTTPS 請(qǐng)求。該方法只有一個(gè)對(duì)象類(lèi)型參數(shù)。該對(duì)象支持如下所示。
-
url : String 類(lèi)型, 必選,開(kāi)發(fā)者服務(wù)器接口地址,必須使用配置后的域名
-
data : Object 或 String 類(lèi)型,可選,請(qǐng)求的參數(shù)
-
header : Object 類(lèi)型,可選,設(shè)置請(qǐng)求的 header , header 中不能設(shè)置 Referer
-
method : String 類(lèi)型,可選,請(qǐng)求的方法,默認(rèn)為 GET ,有效值: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
-
dataType : String 類(lèi)型,可選,響應(yīng)數(shù)據(jù)的類(lèi)型,默認(rèn)為 json 。如果設(shè)置了 dataType 為 json ,則會(huì)嘗試對(duì)響應(yīng)的數(shù)據(jù)做一次 JSON.parse
-
success : Function 類(lèi)型,可選,收到開(kāi)發(fā)者服務(wù)成功返回的回調(diào)函數(shù), res = {data: ' 開(kāi)發(fā)者服務(wù)器返回的內(nèi)容 '}
-
fail : Function 類(lèi)型,可選,接口調(diào)用失敗的回調(diào)函數(shù)
-
complete : Function 類(lèi)型,可選, 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)
注意, data 屬性可以是 Object ,也可以是 String 類(lèi)型,但最終發(fā)送給服務(wù)器的數(shù)據(jù)是 String 類(lèi)型,如果傳入的 data 不是 String 類(lèi)型,會(huì)被轉(zhuǎn)換成 String 。轉(zhuǎn)換規(guī)則如下:
-
對(duì)于 header['content-type'] 為 'application/json' 的數(shù)據(jù),會(huì)對(duì)數(shù)據(jù)進(jìn)行 JSON 序列化
-
對(duì)于 header['content-type'] 為 'application/x-www-form-urlencoded' 的數(shù)據(jù),會(huì)將數(shù)據(jù)轉(zhuǎn)換成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)。
要想測(cè)試 wx.request 方法,首先需要有一個(gè)使用 https 的鏈接,并且該鏈接的域名需要與小程序服務(wù)器配置中設(shè)置的一樣。讀者可以利用上一節(jié)介紹的騰訊云的二級(jí)域名,也可以在網(wǎng)上找一個(gè) https 鏈接,但要注意,需要修改小程序服務(wù)器配置的“ request 合法域名”。這些 https 鏈接必須是在國(guó)內(nèi)注冊(cè)的,而且已經(jīng)成功備案。
為了方便,這里使用了如下鏈接來(lái)測(cè)試 wx.request 方法。讀者也可以使用其他的鏈接,但要求響應(yīng)數(shù)據(jù)為 json 格式,因?yàn)楹竺娴拇a要測(cè)試 json 數(shù)據(jù)解析。
https://edu.51cto.com/index.php?do=spree&m=getGifts
因此,要將“ request 合法域名”設(shè)置為 https://edu.51cto.com ,否則 wx.request 方法無(wú)法請(qǐng)求該鏈接。
下面的代碼使用 wx.request 方法請(qǐng)求該鏈接,并將 dataType 屬性值設(shè)為 text/plain ,這樣就會(huì)直接返回原始字符串。
wx.request({
url: 'https://geekori.com/download/test.txt',
dataType:'text/plain',
success: function(res) {
// 在控制臺(tái)中直接輸出返回的數(shù)據(jù)
console.log(res.data)
}
})
執(zhí)行這段代碼后,會(huì)在 Console 中輸入如圖 1 所示的信息,很明顯,返回的是原始的 json 數(shù)據(jù)。
圖1 響應(yīng)數(shù)據(jù)是純文本形式
現(xiàn)在將前面代碼中的 dataType 屬性去掉,這樣 wx.request 方法會(huì)認(rèn)為返回了 json 格式的數(shù)據(jù)(要將 test.txt 換成 data.json ,而且下載 json 格式的文件不能將 dataType 屬性設(shè)為 text/plain ),并會(huì)對(duì) json 格式的數(shù)據(jù)進(jìn)行解析,也就是說(shuō),這時(shí) res.data 就不再是字符串了,而是一個(gè) JSON 對(duì)象。返回的結(jié)果如圖 2 所示。
圖2 以JSON格式返回?cái)?shù)據(jù)
按著返回的 JSON 格式的數(shù)據(jù),已經(jīng)將其解析成相應(yīng)的對(duì)象和數(shù)組格式。例如,如果要獲取 data 對(duì)象中 coupons 數(shù)組第一個(gè)元素的 batchName 屬性的值,可以使用下面的代碼。
success: function(res) {
console.log(res.data.data.coupons[0].batchName);
}
相關(guān)案例查看更多
相關(guān)閱讀
- 汽車(chē)報(bào)廢回收管理軟件
- 昆明做網(wǎng)站
- 大理網(wǎng)站建設(shè)公司
- 小程序的開(kāi)發(fā)公司
- 公眾號(hào)模板消息
- 云南小程序開(kāi)發(fā)費(fèi)用
- 網(wǎng)站建設(shè)公司網(wǎng)站
- 楚雄小程序開(kāi)發(fā)
- 網(wǎng)站建設(shè)報(bào)價(jià)
- 文山小程序開(kāi)發(fā)
- 云南小程序制作
- 網(wǎng)站建設(shè)招商
- 云南做百度小程序的公司
- 網(wǎng)站制作哪家好
- 昆明網(wǎng)站建設(shè)公司
- 云南小程序商城
- 關(guān)鍵詞快速排名
- 生成海報(bào)
- 正規(guī)網(wǎng)站建設(shè)公司
- 云南軟件定制公司
- 英文網(wǎng)站建設(shè)公司
- 智慧農(nóng)貿(mào)市場(chǎng)
- 云南小程序設(shè)計(jì)
- 南通小程序制作公司
- 昆明小程序開(kāi)發(fā)聯(lián)系方式
- 云南網(wǎng)站建設(shè)哪家好
- 云南省建設(shè)廳網(wǎng)站
- 云南網(wǎng)站建設(shè)列表網(wǎng)
- 網(wǎng)站小程序
- 昆明小程序開(kāi)發(fā)