Version: 3.0.0-beta.5

Taro.request(OBJECT)

发起网络请求,支持 Promise 化使用。

暂不支持使用 RequestTask.onHeadersReceived(function callback)RequestTask.offHeadersReceived(function callback) 方法。

OBJECT 参数说明:

参数类型必填默认值说明
urlString开发者服务器接口地址
dataObject/String/ArrayBuffer请求的参数
headerObject设置请求的 header,header 中不能设置 Referer。
methodStringGET(需大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
dataTypeStringjson如果设为 json,会尝试对返回的数据做一次 JSON.parse
responseTypeStringtext设置响应的数据类型。合法值:text、arraybuffer
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

H5 端附加参数说明:

参数类型必填默认值说明
jsonpString/Boolean使用 jsonp,且使用此值作为回调函数名
jsonpCacheBooleanfalsejsonp 请求 url 是否需要被缓存
modeStringsame-origin是否允许跨域请求。有效值:no-cors, cors, same-origin
credentialsStringomit是否携带 Cookie。有效值:include, same-origin, omit
cacheStringdefault缓存模式。有效值:default, no-cache, reload, force-cache, only-if-cached

success 返回参数说明:

参数类型说明
dataObject/String/ArrayBuffer开发者服务器返回的数据
statusCodeNumber开发者服务器返回的 HTTP 状态码
headerObject开发者服务器返回的 HTTP Response Header

示例代码

import Taro from '@tarojs/taro'
Taro.request({
url: 'https://localhost:8080/test',
data: {
foo: 'foo',
bar: 10
},
header: {
'content-type': 'application/json'
}
})
.then(res => console.log(res.data))

小程序端使用 RequestTask.abort()

const requestTask = Taro.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: {
x: '' ,
y: ''
},
header: {
'content-type': 'application/json'
},
success (res) {
console.log(res.data)
}
})
requestTask.abort() // 取消请求任务

API支持度

API微信小程序H5React Native支付宝小程序百度小程序头条小程序QQ 轻应用
Taro.request✔️✔️✔️✔️✔️✔️✔️