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>

参数#

Option#

参数类型默认值必填说明
urlstring开发者服务器接口地址
complete(res: CallbackResult) => void接口调用结束的回调函数(调用成功、失败都会执行)
dataU请求的参数
dataType"json" | "其他"返回的数据格式
fail(res: CallbackResult) => void接口调用失败的回调函数
headerRecord<string, any>设置请求的 header,header 中不能设置 Referer。

content-type 默认为 application/json
method"OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT"HTTP 请求方法
responseType"text" | "arraybuffer"响应的数据类型
success(result: SuccessCallbackResult<any>) => void接口调用成功的回调函数
jsonpbooleanfalse设置 H5 端是否使用jsonp方式获取数据
jsonpCachebooleanfalse设置 H5 端 jsonp 请求 url 是否需要被缓存
mode"no-cors" | "cors" | "same-origin"same-origin设置 H5 端是否允许跨域请求
credentials"same-origin" | "include" | "omit"omit设置 H5 端是否携带 Cookie
cache"default" | "no-cache" | "reload" | "force-cache" | "only-if-cached"default设置 H5 端缓存模式
timeoutnumber2000设置 H5 端请求响应超时时间
retryTimesnumber2设置 H5 端请求重试次数
backupstring | string[]设置 H5 端请求的兜底接口
dataCheck() => boolean设置 H5 端请求响应的数据校验函数,若返回 false,则请求兜底接口,若无兜底接口,则报请求失败
useStorebooleanfalse设置 H5 端请求是否使用缓存
storeCheckKeystring设置 H5 端请求缓存校验的 key
storeSignstring设置 H5 端请求缓存签名
storeCheck() => boolean设置 H5 端请求校验函数,一般不需要设置

SuccessCallbackResult#

参数类型说明
dataT开发者服务器返回的数据
headerRecord<string, any>开发者服务器返回的 HTTP Response Header
statusCodenumber开发者服务器返回的 HTTP 状态码
errMsgstring调用结果

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

cors_mode#

跨域策略

参数说明
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)

API 支持度#

API微信小程序百度小程序支付宝小程序字节跳动小程序QQ 小程序H5React Native
Taro.request✔️✔️✔️✔️✔️✔️✔️