@bale-web/request v0.2.0
Request
使用 Web Api Request 发送请求。
Usage
npm install @bale-web/requestExplanation
Request 文档地址: https://developer.mozilla.org/zh-CN/docs/Web/API/Request
props 定义了
url、method、data、form、headers等属性。url
string类型, 全路径。method 可选
string类型,POST、GET、PUT、DELETE, 默认为POST。data 需要传输的数据。
type 可选
string类型,0(JSON)、1(FORM_SUBMIT)、2(FORM_DATA)、3(BLOB)、4(TEXT)、3(HTML), 默认为0(JSON)。responseType 可选
string类型,0(JSON)、1(FORM_SUBMIT)、2(FORM_DATA)、3(BLOB)、4(TEXT)、3(HTML), 默认为0(JSON)。timeout 可选
number类型, 定义超时时间,-1为不超时, 默认为30s。headers
Map类型, 定义header头。success 可选
函数类型, 成功回调函数。failed 可选
函数类型, 失败回调函数。
fetchProps 定义了
cache、credentials、integrity、mode、redirect、referrer、referrer_policy、signal等。cache 分为:
default、no-store、reload、no-cache、force-cache、only-if-cached, 默认为default。 文档地址: https://developer.mozilla.org/zh-CN/docs/Web/API/Request/cachecredentials 分为:
omit、same-origin、include, 默认为same-origin。 文档地址: https://developer.mozilla.org/zh-CN/docs/Web/API/Request/credentialsintegrity 可选
string类型。 文档地址: https://developer.mozilla.org/en-US/docs/Web/API/Request/integritymode 分为:
same-origin、cors、no-cors,navigate默认为cors。 文档地址: https://developer.mozilla.org/zh-CN/docs/Web/API/Request/moderedirect 分为:
follow、error、manual, 默认为follow。 文档地址: https://developer.mozilla.org/en-US/docs/Web/API/Request/redirectreferrer 可选
string类型。 文档地址: https://developer.mozilla.org/en-US/docs/Web/API/Request/referrerreferrerPolicy 分为:
none、no-referrer、no-referrer-when-downgrade、origin、origin-when-cross-origin、unsafe-url、same-origin、strict-origin、strict-origin-when-cross-origin, 默认为strict-origin-when-cross-origin。 文档地址: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
Examples
- 普通请求
import { HttpRequest, IHttpRequestProps, HttpResponse } from '@bale-web/request'
let opts: IHttpRequestProps = {
url: 'https://api.github.com/repos/rustwasm/wasm-bindgen/branches/master',
method: 'get',
headers: {
Accept: 'application/vnd.github.v3+json'
}
}
let response: HttpResponse = await HttpRequest.send(opts)
console.log(response)- 普通请求(带
成功、失败函数)
import { HttpRequest, IHttpRequestProps, HttpResponse } from '@bale-web/request'
let opts: IHttpRequestProps = {
url: 'https://api.github.com/repos/rustwasm/wasm-bindgen/branches/master',
method: 'get',
headers: {
Accept: 'application/vnd.github.v3+json'
},
success: (response: HttpResponse) => {
console.log('success: ', response)
},
failed: (response: HttpResponse) => {
console.error('failed: ', response)
}
}
await HttpRequest.send(opts)- 普通请求(带
fetch参数)
import { HttpRequest, IHttpRequestProps, IHttpRequestFetchProps, HttpResponse } from '@bale-web/request'
let fetchOps: IHttpRequestFetchProps = {
cache: 'no-cache',
credentials: 'omit',
integrity: '',
mode: 'CORS',
redirect: '',
referrer: 'origin-when-cross-origin',
referrerPolicy: 'origin-when-cross-origin'
}
let opts: IHttpRequestProps = {
url: 'https://api.github.com/repos/rustwasm/wasm-bindgen/branches/master',
method: 'get',
headers: {
Accept: 'application/vnd.github.v3+json'
},
success: (response: HttpResponse) => {
console.log('success: ', response)
},
failed: (response: HttpResponse) => {
console.error('failed: ', response)
}
}
await HttpRequest.send(opts, fetchOps)FormData请求
import { HttpRequest, IHttpRequestProps, HttpResponse } from '@bale-web/request'
let formData = new FormData()
formData.append('file', file) // file 为需要上传的文件
formData.append('version', '1.0')
formData.append('text', '测试')
let updateOpts: any = {
url: 'https://example.com/api/upload/',
method: 'post',
data: formData,
type: '2',
responseType: '2'
}
let response = await HttpRequest.send(opts)
console.log(response)