Skip to main content
Version: 下个版本

Taro.request(option)

发起 HTTPS 网络请求。使用前请注意阅读相关说明。

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)...)

支持情况:

参考文档

类型​

<T = any, U = any>(option: Option<U>) => RequestTask<T>

参数​

参数类型
optionT

Option​

参数类型默认值必填说明
urlstring是开发者服务器接口地址
dataU否请求的参数
headerTaroGeneral.IAnyObject否设置请求的 header,header 中不能设置 Referer。

content-type 默认为 application/json
timeoutnumber2000否超时时间,单位为毫秒
API 支持度: weapp, h5
methodkeyof MethodGET否HTTP 请求方法
dataTypestring否返回的数据格式
responseTypekeyof ResponseType否响应的数据类型
enableHttp2booleanfalse否开启 http2
API 支持度: weapp
enableQuicbooleanfalse否开启 quic
API 支持度: weapp
enableCachebooleanfalse否开启 cache
API 支持度: weapp
enableHttpDNSbooleanfalse否是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 移动解析HttpDNS
API 支持度: weapp
httpDNSServiceIdstring否HttpDNS 服务商 Id。 HttpDNS 用法详见 移动解析HttpDNS
API 支持度: weapp
enableChunkedbooleanfalse否开启 transfer-encoding chunked。
API 支持度: weapp
success(result: SuccessCallbackResult<any>) => void否接口调用成功的回调函数
fail(res: TaroGeneral.CallbackResult) => void否接口调用失败的回调函数
complete(res: TaroGeneral.CallbackResult) => void否接口调用结束的回调函数(调用成功、失败都会执行)
jsonpbooleanfalse否设置 H5 端是否使用jsonp方式获取数据
API 支持度: h5
jsonpCachebooleanfalse否设置 H5 端 jsonp 请求 url 是否需要被缓存
API 支持度: h5
modekeyof CorsModesame-origin否设置 H5 端是否允许跨域请求
API 支持度: h5
credentialskeyof Credentialsomit否设置 H5 端是否携带 Cookie
API 支持度: h5
cachekeyof Cachedefault否设置 H5 端缓存模式
API 支持度: h5
retryTimesnumber2否设置 H5 端请求重试次数
API 支持度: h5
backupstring or string[]否设置 H5 端请求的兜底接口
API 支持度: h5
dataCheck() => boolean否设置 H5 端请求响应的数据校验函数,若返回 false,则请求兜底接口,若无兜底接口,则报请求失败
API 支持度: h5
useStorebooleanfalse否设置 H5 端请求是否使用缓存
API 支持度: h5
storeCheckKeystring否设置 H5 端请求缓存校验的 key
API 支持度: h5
storeSignstring否设置 H5 端请求缓存签名
API 支持度: h5
storeCheck() => boolean否设置 H5 端请求校验函数,一般不需要设置
API 支持度: h5

SuccessCallbackResult​

参数类型必填说明
dataT是开发者服务器返回的数据
headerTaroGeneral.IAnyObject是开发者服务器返回的 HTTP Response Header
statusCodenumber是开发者服务器返回的 HTTP 状态码
errMsgstring是调用结果
cookiesstring[]否cookies

DataType​

返回的数据格式

参数说明
json返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse
其他: 不对返回的内容进行 JSON.parse

Method​

HTTP 请求方法

参数说明
OPTIONSHTTP 请求 OPTIONS
GETHTTP 请求 GET
HEADHTTP 请求 HEAD
POSTHTTP 请求 POST
PUTHTTP 请求 PUT
DELETEHTTP 请求 DELETE
TRACEHTTP 请求 TRACE
CONNECTHTTP 请求 CONNECT

ResponseType​

响应的数据类型

参数说明
text响应的数据为文本
arraybuffer响应的数据为 ArrayBuffer

CorsMode​

跨域策略

参数说明
no-cors跨域请求将获取不透明的响应
cors允许跨域请求
same-origin请求总是向当前的源发起的

Credentials​

证书

参数说明
include不论是不是跨域的请求,总是发送请求资源域在本地的 cookies、 HTTP Basic authentication 等验证信息
same-origin只有当URL与响应脚本同源才发送 cookies、 HTTP Basic authentication 等验证信息
omit从不发送cookies

Cache​

缓存策略

参数说明
default浏览器从HTTP缓存中寻找匹配的请求
no-cache浏览器在其HTTP缓存中寻找匹配的请求
reload浏览器直接从远程服务器获取资源,不查看缓存,然后使用下载的资源更新缓存
force-cache浏览器在其HTTP缓存中寻找匹配的请求
only-if-cached浏览器在其HTTP缓存中寻找匹配的请求

示例代码​

示例 1​

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

示例 2​

async/await 用法:

const res = await Taro.request(params)