title: Taro.request(OBJECT)

sidebar_label: request

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

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

OBJECT 参数说明:

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

H5 端附加参数说明:

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

success 返回参数说明:

参数 类型 说明
data Object/String/ArrayBuffer 开发者服务器返回的数据
statusCode Number 开发者服务器返回的 HTTP 状态码
header Object 开发者服务器返回的 HTTP Response Header

示例代码

  1. import Taro from '@tarojs/taro'
  2. Taro.request({
  3. url: 'http://localhost:8080/test',
  4. data: {
  5. foo: 'foo',
  6. bar: 10
  7. },
  8. header: {
  9. 'content-type': 'application/json'
  10. }
  11. })
  12. .then(res => console.log(res.data))

小程序端使用 RequestTask.abort()

  1. const requestTask = Taro.request({
  2. url: 'test.php', //仅为示例,并非真实的接口地址
  3. data: {
  4. x: '' ,
  5. y: ''
  6. },
  7. header: {
  8. 'content-type': 'application/json'
  9. },
  10. success (res) {
  11. console.log(res.data)
  12. }
  13. })
  14. requestTask.abort() // 取消请求任务

API支持度

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