tt.request
收藏
我的收藏

基础库 1.0.0 开始支持本方法,这是一个异步方法。

发起 HTTPS 网络请求。网络相关的 API 在使用前需要配置域名白名单。请参考网络请求

前提条件
业务背景
使用限制

线上版本只支持 HTTPS 协议的请求,测试版同时支持 HTTP 和 HTTPS 协议,请注意提审版本中的协议配置;

注意事项
  • 网络请求超时最大时长为 60s;
  • IDE 暂不支持 profile 字段;
  • header 不支持设置 referer、user-agent 字段;
  • 在 header['content-type'] 是 application/x-www-form-urlencoded的情况下,请确保传入的 data 中,key 和 value 都是 string,否则容易出现解析不出来数据的问题;
  • 网络请求 referer 请参考小程序网络请求特性
支持沙盒
相关教程

语法

tt.request(options)

参数说明

options 为 object 类型,属性如下:

属性名类型默认值必填说明最低支持版本
headerobject

HTTP 请求的 header,详情见 header 说明

1.0.0
dataobject | arraybuffer | array
请求的参数,详情见 data 说明
1.0.0
methodstringGET
网络请求方法,详情见 method 的合法值
1.0.0
urlstring
请求地址
1.0.0
timeoutnumber
超时时间,单位为毫秒(最大值 60000ms)
2.31.0
enableCachebooleanfalse
开启 cache
2.31.0
dataTypestringjson
期望返回的数据格式,支持 json、string
1.0.0
responseTypestringtext
期望响应的数据类型,支持 text 或 arraybuffer
1.0.0
successfunction
接口调用成功的回调函数
1.0.0
failfunction
接口调用失败的回调函数
1.0.0
completefunction
接口调用结束的回调函数(调用成功、失败都会执行)
1.0.0

header 参数说明

  • 网络请求 header 中的 referer 不可设置。 其固定格式为:https://tmaservice.developer.toutiao.com/?appid={appid}&version={appVersion},其中 appid为小程序的 APPID,appVersion为小程序的版本号。
  • 网络请求 header 中的 user-agent 不可设置。 其固定格式分为:
    • iOS 系统:[系统user-agent] [宿主标识]/[宿主app版本] ToutiaoMicroApp/[基础库版本] webview/[插件版本]。
    • Android 系统:[系统user-agent] [宿主标识]/[宿主app版本] ToutiaoMicroApp/[基础库版本] PluginVersion/[插件版本]。
  • content-type 默认为 application/json。

data 参数说明

传给服务器的数据最终会是 String 类型,如果 data 不是 String 类型,会被转换成 String。转换规则如下:

  1. 如果数据类型是 string 或者是 arraybuffer,则直接返回该数据;
  2. 如果 header['content-type'] 是 application/x-www-form-urlencoded,会将数据转换成 query string: encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...,然后返回该数据;
  3. 如果 header['content-type'] 是 application/json,则会对数据进行 JSON 序列化,然后返回该数据;
  4. 如果数据类型是 object,则会对数据进行 JSON 序列化,然后返回该数据;
  5. 如果是其他情况,则直接调用数据的 toString(), 然后返回该数据。

method 参数说明

说明

最低支持版本

OPTIONS

HTTP 请求 OPTIONS

1.0.0

GET

HTTP 请求 GET

1.0.0

HEAD

HTTP 请求 HEAD

1.0.0

POST

HTTP 请求 POST

1.0.0

PUT

HTTP 请求 PUT

1.0.0

DELETE

HTTP 请求 DELETE

1.0.0

TRACE

HTTP 请求 TRACE

1.0.0

CONNECT

HTTP 请求 CONNECT

1.0.0

PATCH

HTTP 请求 PATCH

2.42.0

回调成功

object 类型,属性如下:

属性名类型说明最低支持版本
errMsgstring
"request:ok"
1.0.0
statusCodenumber

返回的 HTTP 状态码

1.0.0
profileobject

网络请求过程中一些调试信息,详情见 Profile 类型说明

2.31.0
datastring | object | arraybuffer

返回的数据,类型取决于 dataType 和 responseType 参数

1.0.0

profile 类型说明

object 类型,属性如下:

属性名类型说明最低支持版本
domainLookupStartnumber

DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 requestStart 值相等

2.31.0
domainLookupEndnumber

DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 requestStart 值相等

2.31.0
connectStartnumber

HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 requestStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间

2.31.0
connectEndnumber

HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 requestStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过

2.31.0
sslConnectionStartnumber

SSL 建立连接的时间,如果不是安全连接,则值为 0

2.31.0
sslConnectionEndnumber

SSL 建立完成的时间,如果不是安全连接,则值为 0

2.31.0
requestStartnumber

HTTP 请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间

2.31.0
requestEndnumber

HTTP 请求读取真实文档结束的时间

2.31.0
rttnumber

当次请求连接过程中实时 rtt

2.31.0
estimateNetTypestring

评估的网络状态 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6

2.31.0
throughputKbpsnumber

当前网络的实际下载 kbps

2.31.0
portnumber

当前请求的端口

2.31.0
socketReusedboolean

是否复用连接

2.31.0
sentBytesCountnumber

发送的字节数

2.31.0
receivedBytesCountnumber

收到的字节数

2.31.0

回调失败

object 类型,属性如下:

属性名类型说明最低支持版本
errMsgstring
"request:fail" + 详细错误信息
1.0.0

返回值

类型说明最低支持版本
object1.0.0

扫码体验

请使用字节宿主APP扫码

代码示例