微信小程序實戰006:原來小程序發送網絡請求這麼簡單

小程序提供了一個簡單又高效的應用開發框架和豐富的API,極大的方便了開發者調用微信提供的能力。而這些API中用的比較頻繁的就是發送網絡請求了,因為我們都希望小程序功能可以對接我們自己的服務接口實現數據交互(這樣就不用專門為小程序再去開發一套後臺系統了)。

微信小程序實戰006:原來小程序發送網絡請求這麼簡單

服務器域名配置

每個小程序需要事先設置通訊域名,小程序只可以跟指定的域名進行網絡通信。包括普通 HTTPS 請求(wx.request)、上傳文件(wx.uploadFile)、下載文件(wx.downloadFile) 、WebSocket 通信(wx.connectSocket)和 UDP 通信(wx.createUDPSocket)。我們可以在小程序後臺->開發->開發設置->服務器域名中進行配置,域名只支持經過 ICP 備案的 https (wx.request、wx.uploadFile、wx.downloadFile) 、 wss (wx.connectSocket) 協議和UDP 協議(wx.createUDPSocket)。端口可以不用配置(請求時UR也不帶端口),如果配置了端口那麼就只能訪問該端口的接口。

微信小程序實戰006:原來小程序發送網絡請求這麼簡單

​ 小程序如何發送網絡請求

發送網絡請求可以使用wx.request(Object)函數來與服務器進行交互。當用戶發起請求時先發到微信服務器進行安全校驗,然後再由微信服務器發送到服務器;同樣服務器也會將返回的結果先發到微信服務器,再由微信服務器打包之後返回到網頁並將處理結果呈現給用戶。該接口的最大併發限制是 10 個,因此開發的時候要控制好請求的數量。

微信小程序實戰006:原來小程序發送網絡請求這麼簡單

wx.request參數

wx.request(Object)是一個非常重要的API,接受的參數是個對象。對象中可以定義很多屬性,url是必填的請求參數且該url中的域名不能使用 IP 地址(小程序的局域網 IP 除外)或 localhost。method默認值是GET請求,數據類型默認是json格式。

微信小程序實戰006:原來小程序發送網絡請求這麼簡單

如何發送網絡請求(HTTPS)

在標籤組件中綁定bindtap屬性,當按鈕點擊的時候會調用對應的方法。我們在該方法中調用wx.request()方法來發起網絡請求,如果需要傳遞數據可以在標籤組件中傳入data-*自定義屬性,當該組件觸發事件時會將該屬性值發送給事件處理函數。

這裡我們測試一個註冊功能,tips為提示語註冊前提示用戶“請先註冊”,data-*屬性為標籤攜帶的數據(用戶名和密碼),點擊“發送註冊請求”按鈕並將用戶密碼發送給後端,註冊成功之後tips顯示“註冊成功”。content-type 默認為 application/json適用於GET請求,現在我這用的是POST請求,所以header這裡需要 : "Content-Type": "application/x-www-form-urlencoded"。

微信小程序實戰006:原來小程序發送網絡請求這麼簡單

如何發送HTTP請求 (本地開發)

雖然小程序在線上的版本都只能請求到自己在小程序後臺中配置好的https服務器,但是在在開發環境中我們還是可以通過發送http請求來測試接口的。我們只要在右上角點擊“詳情”中找到”不校驗安全域名、web-view(業務域名)、TLS 版本以及 HTTPS 證書“選項,或者在“微信開發者工具”菜單欄中點擊“設置“,在彈出的下拉菜單中繼續點擊最下面一行的”項目設置“(此時左邊會彈出一個“詳情”彈框)。這樣我們就可以使用小程序提供的api發送網絡請求,進行功能測試。

微信小程序實戰006:原來小程序發送網絡請求這麼簡單

​總結:

以上內容是小編給大家分享的微信小程序實戰006:如何發送網絡請求詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。


分享到:


相關文章: