天天看點

微信小程式開發wepy連接配接伺服器微信小程式開發連接配接背景伺服器

微信小程式開發連接配接背景伺服器

在小程式的開發中,少不了對背景伺服器的連接配接以及網絡請求,在微信小程式中,所有的網絡連接配接都是基于HTTP協定的,并且微信小程式提供了封裝好的請求接口,由于本人開發過程中使用的是wepy架構,wepy對原生的wx.request又進行了優化。

利用原生wx.request網絡連接配接

原生wx.request進行網絡連接配接,參考官方文檔API,如下

RequestTask wx.request(Object object)

發起HTTPS網絡請求,使用前請注意閱讀相關說明

參數

Object object

屬性 類型 預設值 必填 說明 最低版本
url string 開發者伺服器接口位址
data string/object/ArrayBuffer 請求的參數
header Object 設定請求的 header,header 中不能設定 Referer。content-type 預設為 application/json
method string GET HTTP 請求方法
dataType string json 傳回的資料格式
responseType string text 響應的資料類型 1.7.0
success function 接口調用成功的回調函數
fail function 接口調用失敗的回調函數
complete function 接口調用結束的回調函數(調用成功、失敗都會執行)

object.method 的合法值

說明 最低版本
OPTIONS HTTP 請求 OPTIONS
GET HTTP 請求 GET
HEAD HTTP 請求 HEAD
POST HTTP 請求 POST
PUT HTTP 請求 PUT
DELETE HTTP 請求 DELETE
TRACE HTTP 請求 TRACE
CONNECT HTTP 請求 CONNECT

object.dataType 的合法值

說明 最低版本
json 傳回的資料為 JSON,傳回後會對傳回的資料進行一次 JSON.parse
其他 不對傳回的内容進行 JSON.parse

object.responseType 的合法值

說明 最低版本
text 響應的資料為文本
arraybuffer 響應的資料為 ArrayBuffer

object.success 回調函數

參數

Object res

屬性 類型 說明 最低版本
data string/Object/Arraybuffer 開發者伺服器傳回的資料
statusCode number 開發者伺服器傳回的 HTTP 狀态碼
header Object 開發者伺服器傳回的 HTTP Response Header 1.2.0

最終發送給伺服器的資料是 String 類型,如果傳入的 data 不是 String 類型,會被轉換成 String 。轉換規則如下:

對于 GET 方法的資料,會将資料轉換成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)…)

對于 POST 方法且 header[‘content-type’] 為 application/json 的資料,會對資料進行 JSON 序列化

對于 POST 方法且 header[‘content-type’] 為 application/x-www-form-urlencoded 的資料,會将資料轉換成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)…)

利用封裝的wepy.request進行連接配接

wepy中wepy.request的大部分參數都差不多,不同在于wepy架構中已經添加好了async/await等,支援promise

注意事項以及開發中遇到的問題

  • requst值支援同時有5個連接配接
  • request的Url結尾必須有/,不然連接配接不成功
  • request的HEADER字段,需與請求的url接口吻合,有時預設json并不一定可以得到顯示,content-type 設定為application/x-www-form-urlencoded
  • 請求時,保持網絡暢通,request的時限為60秒