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

示例代码

  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微信小程序H5React Native支付宝小程序百度小程序头条小程序QQ 轻应用
Taro.request✔️✔️✔️✔️✔️✔️✔️