bl.request
发起网络请求。使用前请注意阅读网络域名限制相关说明
参数说明
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 | 版本 |
|---|---|---|---|---|---|
| url | string | 是 | 开发者服务器接口地址,不可以以 // 开头,本地调试和预览时可以用http开头,发到线上时则必须以https为开头 | ||
| data | object/string | 否 | 请求的参数 | ||
| header | object | 否 | 设置请求的 header,header 中不能设置 Referer。content-type 默认为 application/json | ||
| method | string | GET | 否 | (需大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT | |
| dataType | string | json | 否 | 返回的数据格式 | |
| responseType | string | text | 否 | 响应的数据类型 | 2.3.0 |
| success | function | 否 | 收到开发者服务成功返回的回调函数 | ||
| fail | function | 否 | 接口调用失败的回调函数 |
dataType 参数说明
| 值 | 说明 | 版本 |
|---|---|---|
| json | 返回的数据为 JSON | |
| 其他 | 开发者服务器返回的 HTTP 状态码 |
dataType 在 iOS/Android 的差异
由于平台差异,dataType 参数 在 iOS/Android 的表现不同
- iOS:未解析 dataType ,data 统一都当 string 解析
- Android:如果设为json,会尝试对返回的数据做一次 JSON.parse
responseType 参数说明
| 值 | 说明 | 版本 |
|---|---|---|
| text | 响应的数据为文本 | |
| arraybuffer | 响应的数据为 ArrayBuffer |
success 参数说明
Object res
| 属性 | 类型 | 说明 | 版本 |
|---|---|---|---|
| data | object/string | 开发者服务器返回的数据 | |
| statusCode | number | 开发者服务器返回的 HTTP 状态码 | |
| statusText | string | 接口异常或传输异常信息,正常返回值为 OK | |
| header | object | 开发者服务器返回的 HTTP Response Header |
data数据说明
最终发送给服务器的数据是 string 类型,如果传入的 data 不是 string 类型,会被转换成 string 。转换规则如下:
- 对于
GET方法的数据,会将数据转换成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...) - 对于
POST方法且header['content-type']为application/json的数据,会对数据进行 JSON 序列化 - 对于
POST方法且header['content-type']为application/x-www-form-urlencoded的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)
fail 参数说明
Object res
| 属性 | 类型 | 说明 | 版本 |
|---|---|---|---|
| data | object/string | 开发者服务器返回的数据 | |
| statusCode | number | 开发者服务器返回的 HTTP 状态码 | |
| statusText | string | 接口异常或传输异常信息,正常返回值为 OK | |
| header | object | 开发者服务器返回的 HTTP Response Header |
注意
cookie说明
- 所有版本都支持
request种cookie,下次同域名请求带入。 - 基础库版本 3.9.0 以后支持请求 *bilibili.com 域名的接口时带上 app 的登录信息。