数据请求

接口声明

{"name": "system.fetch"}

uni.fetch.fetch(OBJECT)

获取网络数据。

参数

参数名 类型 必填 说明
url String 资源url
data String/Object 请求的参数,可以是字符串或者是 json 对象。
header Object 请求的 header,会将其所有属性设置到请求的 header 部分。useragent 设置无效。示例:{"Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,en-US;q=0.8,en;q=0.6"}
method String 默认为 GET,可以是:OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT
success Function 成功返回的回调函数
fail Function 失败的回调函数,可能会因为权限失败
complete Function 结束的回调函数(调用成功、失败都会执行)

data 说明

  • 如果是字符串,其值作为请求的 body,请求的 Content-Type 会被设置为 text/plain。
  • 如果是 json 对象,会将其所有属性使用 urlencode 编码,组成一个字符串作为请求的 body,请求的 Content-Type 会被设置为 application/x-www-form-urlencoded。

success 返回值

参数名 类型 说明
code Number 服务器状态 code
data String 如果服务器返回的 header 中 type 是 text/* 或 application/json、application/javascript、application/xml,值是文本内容,否则是存储的临时文件的 uri。临时文件如果是图片或者视频内容,可以将图片设置到 image 或 video 控件上显示。
headers Object 服务器 response 的所有 header

示例

uni.fetch.fetch({
  url: "http://www.example.com",
  success: function (data) {
    console.log("title: " + JSON.parse(data.data).title);
  },
  fail: function (data, code) {
    console.log("handling fail, code=" + code);
  }
});

安全要求

对于HTTPS请求,对证书要求如下:

  • HTTPS证书必须有效。证书必须被系统信任,不支持自签名证书,部署SSL证书的网站域名必须与证书颁发的域名一致,证书必须在有效期内。
  • TLS必须支持1.1及以上版本。部分旧Android机型(4.4以下)还未支持 TLS1.1,请确保HTTPS服务器的TLS版本能够同时支持 TLS1.1 及以下版本,从安全性考虑,建议也支持TLS1.2,在配置加密套件时排除不安全算法:DES/3DES(除密钥K1≠K2≠K3外的场景)/SKIPJACK/RC2/MD2/MD4/SHA1。

部分CA可能不被操作系统信任,请开发者在选择证书时注意Android系统的相关通告。

上传下载

接口声明

{"name": "system.request"}

uni.request.upload(OBJECT)

上传文件。

参数

参数名 类型 必填 说明
url String 资源url
header Object 请求的 header,会将其所有属性设置到请求的 header 部分。useragent 设置无效。
method String 默认为 GET,可以是:POST,PUT
files Array 需要上传的文件列表,使用 multipart/form-data 方式提交。files 参数是一个 file 对象的数组。
success Function 成功返回的回调函数
fail Function 失败的回调函数,可能会因为权限失败
complete Function 结束的回调函数(调用成功、失败都会执行)

files 参数说明

参数名 类型 必填 说明
filename String multipart提交时,header中的文件名。
name String multipart提交时,表单的项目名,默认file。
uri String 文件的本地地址。
type String 文件的Content-Type格式,不填则会根据filename或uri的后缀从系统的映射表中查询对应的Content-Type,假如获取失败则报参数非法异常

success 返回值

参数名 类型 说明
code Number 服务器状态code
data String 如果服务器返回的header中type是text/*或application/json、application/javascript、application/xml,值是文本内容,否则是存储的临时文件的uri临时文件,如果是图片或者视频内容,可以将图片设置到image或video控件上显示
headers Object 服务器response的所有header

示例

uni.request.upload({
  url: "http://www.example.com",
  files: [{
    uri: "internal://xxx/xxx/test",
    name: "file1",
    filename: "test.png"
  }],
  success: function (data) {
    console.log("handling success");
  },
  fail: function (data, code) {
    console.log("handling fail, code=" + code);
  }
});

uni.request.download(OBJECT)

下载文件

参数

参数名 类型 必填 说明
url String 资源url
header Object 请求的header,会将其所有属性设置到请求的header部分。useragent设置无效。
success Function 成功返回的回调函数
fail Function 失败的回调函数
complete Function 结束的回调函数(调用成功、失败都会执行)

success返回值

参数名 类型 说明
token String 下载的token,根据此token获取下载状态

示例

uni.request.download({
  url: "http://www.example.com",
  success: function (data) {
    console.log("handling success" + data.token);
  },
  fail: function (data, code) {
    console.log("handling fail, code=" + code);
  }
});

uni.request.onDownloadComplete(OBJECT)

监听下载任务。

参数

参数名 类型 必填 说明
token String download接口返回的token
success Function 成功返回的回调函数
fail Function 失败的回调函数
complete Function 结束的回调函数(调用成功、失败都会执行)

success 返回值

参数名 类型 说明
uri String 下载文件的uri,会存储在文件组织的mass分区下

fail返回错误码

错误码 说明
1000 下载失败
1001 下载任务不存在

示例

uni.request.onDownloadComplete({
  token: "123",
  success: function (data) {
    console.log("handling success" + data.uri);
  },
  fail: function (data, code) {
    console.log("handling fail, code=" + code);
  }
});

results matching ""

    No results matching ""