Skip to content

RequestTask mpx.request(Object object) ​

发起 HTTPS 网络请求

支持情况: 微信、支付宝、RN、web

参考文档

参数 ​

Object object

属性类型默认值必填说明最低版本支付宝RNweb
urlstring是开发者服务器接口地址✓✓✓
datastring/object/ArrayBuffer否请求的参数✓✓✓
headerObject否设置请求的 header,header 中不能设置 Referer。✓✓✓
content-type说明
默认为 application/json
timeoutnumber60000否超时时间,单位为毫秒。默认值为 600002.10.0✓✓✓
methodstringGET否HTTP 请求方法✓✓✓
合法值说明
OPTIONSHTTP 请求 OPTIONS
GETHTTP 请求 GET
HEADHTTP 请求 HEAD
POSTHTTP 请求 POST
PUTHTTP 请求 PUT
DELETEHTTP 请求 DELETE
TRACEHTTP 请求 TRACE
CONNECTHTTP 请求 CONNECT
dataTypestringjson否返回的数据格式✓✓✓
合法值说明
json返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse
其他不对返回的内容进行 JSON.parse
responseTypestringtext否响应的数据类型1.7.0✗✓✓
合法值说明
text响应的数据为文本
arraybuffer响应的数据为 ArrayBuffer
useHighPerformanceModebooleantrue否使用高性能模式。从基础库 v3.5.0 开始在 Android 端默认开启,其他端暂不生效。该模式下有更优的网络性能表现,更多信息请查看下方说明。3.3.3✗✗✗
enableHttp2booleanfalse否开启 http22.10.4✗✗✗
enableProfilebooleantrue否是否开启 profile。iOS 和 Android 端默认开启,其他端暂不支持。开启后可在接口回调的 res.profile 中查看性能调试信息。✗✗✗
enableQuicbooleanfalse否是否开启 Quic/h3 协议2.10.4✗✗✗
enableCachebooleanfalse否开启 Http 缓存2.10.4✗✗✗
enableHttpDNSbooleanfalse否是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 移动解析HttpDNS2.19.1✗✗✗
httpDNSServiceIdstring否HttpDNS 服务商 Id。 HttpDNS 用法详见 移动解析HttpDNS2.19.1✗✗✗
httpDNSTimeoutnumber60000否HttpDNS 超时时间。HttpDNS解析时间超过该值时不再走HttpDNS,本次请求将回退到localDNS。默认为 60000 毫秒。3.8.9✗✗✗
enableChunkedbooleanfalse否开启 transfer-encoding chunked。2.20.2✗✗✗
forceCellularNetworkbooleanfalse否强制使用蜂窝网络发送请求2.21.0✗✗✗
redirectstringfollow否重定向拦截策略。(目前安卓、iOS、开发者工具已支持,PC端将在后续支持)3.2.2✗✗✗
合法值说明
follow不拦截重定向,即客户端自动处理重定向
manual拦截重定向。开启后,当 http 状态码为 3xx 时客户端不再自动重定向,而是触发 onHeadersReceived 回调,并结束本次 request 请求。可通过 onHeadersReceived 回调中的 header.Location 获取重定向的 url
successfunction否接口调用成功的回调函数✓✓✓
failfunction否接口调用失败的回调函数✓✓✓
completefunction否接口调用结束的回调函数(调用成功、失败都会执行)✓✓✓

object.success 回调函数

参数

Object res

属性类型说明最低版本支付宝RNweb
datastring/Object/Arraybuffer开发者服务器返回的数据✓✓✓
statusCodenumber开发者服务器返回的 HTTP 状态码✓✓✓
headerObject开发者服务器返回的 HTTP Response Header1.2.0✓✓✓
cookiesArray.<string>开发者服务器返回的 cookies,格式为字符串数组2.10.0✗✗✗
profileObject网络请求过程中一些调试信息,查看详细说明。目前仅 iOS 和 Android 端支持,其他端暂不支持。2.10.4✓✗✗
结构属性类型说明最低版本支付宝
invokeStartnumber调用接口的时间。3.8.10✗
httpDNSDomainLookUpStartnumberhttpDNS 开始查询的时间。仅当开启 httpDNS 功能时返回该字段。目前仅wx.request接口支持3.8.9✗
httpDNSDomainLookUpEndnumberhttpDNS 完成查询的时间。仅当开启 httpDNS 功能时返回该字段。目前仅wx.request接口支持3.8.9✗
queueStartnumber开始排队的时间。达到并行上限时才需要排队。3.8.10✗
queueEndnumber结束排队的时间。达到并行上限时才需要排队。如果未发生排队,则该字段和 queueStart 字段值相同3.8.10✗
redirectStartnumber第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0✗
redirectEndnumber最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0✗
fetchStartnumber组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前✗
domainLookUpStartnumberLocal DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等✗
domainLookUpEndnumberLocal DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等✗
connectStartnumberHTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间✗
connectEndnumberHTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过✗
SSLconnectionStartnumberSSL建立连接的时间,如果不是安全连接,则值为 0✗
SSLconnectionEndnumberSSL建立完成的时间,如果不是安全连接,则值为 0✗
requestStartnumberHTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的是新建立连接的时间✗
requestEndnumberHTTP请求读取真实文档结束的时间✗
responseStartnumberHTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存✗
responseEndnumberHTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存✗
rttnumber当次请求连接过程中实时 rtt✗
estimate_nettypenumber评估的网络状态 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6✗
httpRttEstimatenumber协议层根据多个请求评估当前网络的 rtt(仅供参考)✗
transportRttEstimatenumber传输层根据多个请求评估的当前网络的 rtt(仅供参考)✗
downstreamThroughputKbpsEstimatenumber评估当前网络下载的kbps✗
throughputKbpsnumber当前网络的实际下载kbps✗
peerIPstring当前请求的IP✗
portnumber当前请求的端口✗
socketReusedboolean是否复用连接✓
sendBytesCountnumber发送的字节数✗
receivedBytedCountnumber收到字节数✗
protocolstring使用协议类型,有效值:http1.1, h2, quic, unknown✓
exceptionObject网络请求过程中的一些异常信息,例如httpdns超时等3.0.0✗✗✗
结构属性类型说明
retryCountnumber本次请求底层重试次数
reasonsArray.<Object>本次请求底层失败信息,所有失败信息均符合Errno错误码
结构属性类型说明
errMsgstring错误原因
errnostring错误码
useHttpDNSboolean最终请求是否使用了HttpDNS解析的IP。仅当enableHttpDNS传true时返回此字段。如果开启enableHttpDNS但最终请求未使用HttpDNS解析的IP,可在exception查看原因。3.4.10✓✓✓

object.fail 回调函数

参数

Object err

属性类型说明最低版本支付宝RNweb
errMsgString错误信息✓✓✓
errnoNumbererrno 错误码,错误码的详细说明参考 Errno错误码2.24.0✓✗✗
exceptionObject网络请求过程中的一些异常信息,例如httpdns超时等3.8.10✗✗✗
结构属性类型说明
retryCountnumber本次请求底层重试次数
reasonsArray.<Object>本次请求底层失败信息,所有失败信息均符合Errno错误码
结构属性类型说明
errMsgstring错误原因
errnostring错误码
useHttpDNSboolean最终请求是否使用了HttpDNS解析的IP。仅当enableHttpDNS传true时返回此字段。如果开启enableHttpDNS但最终请求未使用HttpDNS解析的IP,可在exception查看原因。3.8.10✓✓✓

返回值 ​

RequestTask

示例代码 ​

js
mpx.request({
  url: 'example.php', //仅为示例,并非真实的接口地址
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' // 默认值
  },
  success (res) {
    console.log(res.data)
  }
})