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)...)
注意
cookie
说明
- 所有版本都支持
request
种cookie
,下次同域名请求带入。 - 基础库版本 3.9.0 以后支持请求 *bilibili.com 域名的接口时带上 app 的登录信息。