小程序網路請求wx.request
RequestTask wx.request(Object object)
發起 HTTPS 網絡請求。使用前請注意閱讀相關說明。
參數
Object object
屬性 類型 默認值 必填 說明 最低版本
url string 是 開發者服務器接口地址
data string/object/ArrayBuffer 否 請求的參數
header Object 否 設置請求的 header,header 中不能設置 Referer。
`content-type` 默認為 `application/json`
timeout number 否 超時時間,單位為毫秒。默認值為 60000 2.10.0
method string GET 否 HTTP 請求方法
合法值 說明
OPTIONS HTTP 請求 OPTIONS
GET HTTP 請求 GET
HEAD HTTP 請求 HEAD
POST HTTP 請求 POST
PUT HTTP 請求 PUT
DELETE HTTP 請求 DELETE
TRACE HTTP 請求 TRACE
CONNECT HTTP 請求 CONNECT
dataType string json 否 返回的數據格式
合法值 說明
json 返回的數據為 JSON,返回后會對返回的數據進行一次 JSON.parse
其他 不對返回的內容進行 JSON.parse
responseType string text 否 響應的數據類型 1.7.0
合法值 說明
text 響應的數據為文本
arraybuffer 響應的數據為 ArrayBuffer
enableHttp2 boolean false 否 開啟 http2 2.10.4
enableQuic boolean false 否 開啟 quic 2.10.4
enableCache boolean false 否 開啟 cache 2.10.4
enableHttpDNS boolean false 否 是否開啟 HttpDNS 服務。如開啟,需要同時填入 httpDNSServiceId 。 HttpDNS 用法詳見 移動解析HttpDNS 2.19.1
httpDNSServiceId string 否 HttpDNS 服務商 Id。 HttpDNS 用法詳見 移動解析HttpDNS 2.19.1
enableChunked boolean false 否 開啟 transfer-encoding chunked。 2.20.2
forceCellularNetwork boolean false 否 wifi下使用移動網絡發送請求 2.21.0
success function 否 接口調用成功的回調函數
fail function 否 接口調用失敗的回調函數
complete function 否 接口調用結束的回調函數(調用成功、失敗都會執行)
object.success 回調函數
參數
Object res
屬性 類型 說明 最低版本
data string/Object/Arraybuffer 開發者服務器返回的數據
statusCode number 開發者服務器返回的 HTTP 狀態碼
header Object 開發者服務器返回的 HTTP Response Header 1.2.0
cookies Array.<string> 開發者服務器返回的 cookies,格式為字符串數組 2.10.0
profile Object 網絡請求過程中一些調試信息,查看詳細說明 2.10.4
結構屬性 類型 說明
redirectStart number 第一個 HTTP 重定向發生時的時間。有跳轉且是同域名內的重定向才算,否則值為 0
redirectEnd number 最后一個 HTTP 重定向完成時的時間。有跳轉且是同域名內部的重定向才算,否則值為 0
fetchStart number 組件準備好使用 HTTP 請求抓取資源的時間,這發生在檢查本地緩存之前
domainLookupStart number DNS 域名查詢開始的時間,如果使用了本地緩存(即無 DNS 查詢)或持久連接,則與 fetchStart 值相等
domainLookupEnd number DNS 域名查詢完成的時間,如果使用了本地緩存(即無 DNS 查詢)或持久連接,則與 fetchStart 值相等
connectStart number HTTP(TCP) 開始建立連接的時間,如果是持久連接,則與 fetchStart 值相等。注意如果在傳輸層發生了錯誤且重新建立連接,則這里顯示的是新建立的連接開始的時間
connectEnd number HTTP(TCP) 完成建立連接的時間(完成握手),如果是持久連接,則與 fetchStart 值相等。注意如果在傳輸層發生了錯誤且重新建立連接,則這里顯示的是新建立的連接完成的時間。注意這里握手結束,包括安全連接建立完成、SOCKS 授權通過
SSLconnectionStart number SSL建立連接的時間,如果不是安全連接,則值為 0
SSLconnectionEnd number SSL建立完成的時間,如果不是安全連接,則值為 0
requestStart number HTTP請求讀取真實文檔開始的時間(完成建立連接),包括從本地讀取緩存。連接錯誤重連時,這里顯示的也是新建立連接的時間
requestEnd number HTTP請求讀取真實文檔結束的時間
responseStart number HTTP 開始接收響應的時間(獲取到第一個字節),包括從本地讀取緩存
responseEnd number HTTP 響應全部接收完成的時間(獲取到最后一個字節),包括從本地讀取緩存
rtt number 當次請求連接過程中實時 rtt
estimate_nettype number 評估的網絡狀態 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6
httpRttEstimate number 協議層根據多個請求評估當前網絡的 rtt(僅供參考)
transportRttEstimate number 傳輸層根據多個請求評估的當前網絡的 rtt(僅供參考)
downstreamThroughputKbpsEstimate number 評估當前網絡下載的kbps
throughputKbps number 當前網絡的實際下載kbps
peerIP string 當前請求的IP
port number 當前請求的端口
socketReused boolean 是否復用連接
sendBytesCount number 發送的字節數
receivedBytedCount number 收到字節數
protocol string 使用協議類型,有效值:http1.1, h2, quic, unknown
object.fail 回調函數
參數
Object err
屬性 類型 說明 最低版本
errMsg String 錯誤信息
errno Number errno 錯誤碼,錯誤碼的詳細說明參考 Errno錯誤碼 2.24.0
返回值
RequestTask
請求任務對象
data 參數說明
最終發送給服務器的數據是 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)...)
示例代碼
wx.request({
url: 'example.php', //僅為示例,并非真實的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默認值
},
success (res) {
console.log(res.data)
}
})
- 小程序網路請求wx.request
- RequestTask wx.request(Object object)發起 HTTPS 網絡請求。使用前請注意閱讀相關說明。
- 04-06 關注:3