跳到主要内容
版本:v8

CapacitorHttp

Capacitor Http API 通过修补 window.fetchXMLHttpRequest 以使用原生库,提供了原生的 HTTP 支持。它还提供了无需使用 fetchXMLHttpRequest 的原生 HTTP 请求辅助方法。此插件已捆绑在 @capacitor/core 中。

配置

默认情况下,修补 window.fetchXMLHttpRequest 以使用原生库的功能是禁用的。 如果您希望启用此功能,请在 capacitor.config 文件中修改以下配置。

属性类型描述默认值
enabledboolean启用对 fetchXMLHttpRequest 的修补,使其使用原生库替代。false

配置示例

capacitor.config.json 中:

{
"plugins": {
"CapacitorHttp": {
"enabled": true
}
}
}

capacitor.config.ts 中:

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
plugins: {
CapacitorHttp: {
enabled: true,
},
},
};

export default config;

示例

import { CapacitorHttp } from '@capacitor/core';

// GET 请求示例
const doGet = () => {
const options = {
url: 'https://example.com/my/api',
headers: { 'X-Fake-Header': 'Fake-Value' },
params: { size: 'XL' },
};

const response: HttpResponse = await CapacitorHttp.get(options);

// 或者...
// const response = await CapacitorHttp.request({ ...options, method: 'GET' })
};

// POST 请求示例。注意:数据可以作为原始的 JS 对象传递(必须是可 JSON 序列化的)
const doPost = () => {
const options = {
url: 'https://example.com/my/api',
headers: { 'X-Fake-Header': 'Fake-Value' },
data: { foo: 'bar' },
};

const response: HttpResponse = await CapacitorHttp.post(options);

// 或者...
// const response = await CapacitorHttp.request({ ...options, method: 'POST' })
};

大文件支持

由于桥接机制的特性,从原生端解析和传输大量数据到 Web 端可能会引发问题。下载和上传文件的支持已添加到 @capacitor/file-transfer 插件中。在许多情况下,您可能还需要 @capacitor/filesystem 来生成有效的 文件 URI

API

****** HTTP 插件 *******

request(...)

request(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


get(...)

get(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP GET 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


post(...)

post(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP POST 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


put(...)

put(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP PUT 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


patch(...)

patch(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP PATCH 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


delete(...)

delete(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP DELETE 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


接口

HttpResponse

属性类型描述
dataany随 HTTP 响应接收到的额外数据。
statusnumber从 HTTP 响应接收到的状态码。
headers
HttpHeaders
从 HTTP 响应接收到的头部信息。
urlstring从 HTTP 响应接收到的响应 URL。

HttpHeaders

interface HttpHeaders {
[key: string]: string;
}

HttpOptions

属性类型描述
urlstring请求的 URL。
methodstring请求方法。
params
HttpParams
要附加到 URL 的查询参数。
dataany作为请求体发送的数据。
headers
HttpHeaders
请求的头部信息。
readTimeoutnumber等待服务器响应的最大时间(以毫秒为单位)。
connectTimeoutnumber建立连接的最大时间(以毫秒为单位)。
responseType
HttpResponseType
响应的类型。

类型别名

HttpParams

type HttpParams = {
[key: string]: string;
};

HttpResponseType

type HttpResponseType = 'arraybuffer' | 'blob' | 'json' | 'text' | 'document';

#### HttpOptions| 属性 | 类型 | 描述 | | --------------------------- | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | url | string | 请求发送的目标 URL。 | | method | string | 要执行的 HTTP 请求方法。(默认为 GET) | | params |

HttpParams
| 要附加到请求的 URL 参数。 | | data | any | 注意:在 Android 和 iOS 上,data 只能是字符串或 JSON。FormData、BlobArrayBuffer 等复杂类型仅直接在 Web 端支持,或通过在配置中启用 CapacitorHttp 并使用修补后的 window.fetchXMLHttpRequest 来支持。如果需要发送复杂类型,应将数据序列化为 base64,并相应设置 headers["Content-Type"]dataType 属性。 | | headers |
HttpHeaders
| 随请求一起发送的 HTTP 请求头。 | | readTimeout | number | 等待读取额外数据的时长(毫秒)。每次接收到新数据时重置。 | | connectTimeout | number | 等待初始连接的时长(毫秒)。 | | disableRedirects | boolean | 设置是否禁用自动 HTTP 重定向。 | | webFetchExtra |
RequestInit
| 在 Web 端运行时,用于 fetch 的额外参数。 | | responseType |
HttpResponseType
| 用于在将响应返回给请求者之前进行适当的解析。如果响应内容类型是 "json",则忽略此值。 | | shouldEncodeUrlParams | boolean | 在特定情况下(例如 URL 已编码、Azure/Firebase 测试等)需要保持 URL 不编码时使用此选项。默认值为 true。 || dataType | 'file' | 'formData' | 当我们不得不将数据从需要在原生层进行特殊处理的 JavaScript 类型转换时,会使用此属性。 |#### HttpParams

RequestInit

属性类型说明
body
BodyInit
一个 BodyInit 对象或 null,用于设置请求的 body。
cache
RequestCache
一个字符串,指示请求将如何与浏览器的缓存交互,用于设置请求的 cache。
credentials
RequestCredentials
一个字符串,指示是否总是、从不或仅当发送到同源 URL 时随请求发送凭据。用于设置请求的 credentials。
headers
HeadersInit
一个 Headers 对象、对象字面量或由两个项目组成的数组的数组,用于设置请求的 headers。
integritystring要由请求获取的资源的加密哈希值。用于设置请求的 integrity。
keepaliveboolean一个布尔值,用于设置请求的 keepalive。
methodstring一个字符串,用于设置请求的 method。
mode
RequestMode
一个字符串,指示请求是否将使用 CORS,或是否仅限于同源 URL。用于设置请求的 mode。
redirect
RequestRedirect
一个字符串,指示请求是否遵循重定向、在遇到重定向时导致错误,或返回重定向(以不透明的方式)。用于设置请求的 redirect。
referrerstring一个字符串,其值是同源 URL、"about:client" 或空字符串,用于设置请求的 referrer。
referrerPolicy
ReferrerPolicy
一个 referrer 策略,用于设置请求的 referrerPolicy。
signal
AbortSignal
一个 AbortSignal,用于设置请求的 signal。
windowany只能为 null。用于将请求与任何 Window 解除关联。

Blob

一种表示不可变的原始数据的类文件对象。Blob 表示的数据不一定采用 JavaScript 原生格式。File 接口基于 Blob,继承了 Blob 的功能并进行了扩展,以支持用户系统上的文件。 Blob 类是 require('node:buffer').Blob 的全局引用 https://nodejs.org/api/buffer.html#class-blob

属性类型
sizenumber
typestring
方法签名
arrayBuffer() => Promise<ArrayBuffer>
slice(start?: number, end?: number, contentType?: string) => Blob
stream() => ReadableStream
text() => Promise<string>

ArrayBuffer

表示一个原始二进制数据缓冲区,用于存储不同类型化数组的数据。ArrayBuffer 不能直接读取或写入,但可以传递给类型化数组或 DataView 对象,以便根据需要解释原始缓冲区。

属性类型说明
byteLengthnumber只读。ArrayBuffer 的长度(以字节为单位)。
方法签名说明
slice(begin: number, end?: number) => ArrayBuffer返回 ArrayBuffer 的一个部分。

此 Streams API 接口表示一个可读取的字节数据流。Fetch API 通过 Response 对象的 body 属性提供了 ReadableStream 的具体实例。

属性类型
lockedboolean
方法签名
cancel(reason?: any) => Promise<void>
getReader() => ReadableStreamDefaultReader<R>
pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions) => ReadableStream<T>
pipeTo(dest: WritableStream<R>, options?: StreamPipeOptions) => Promise<void>
tee() => [ReadableStream<R>, ReadableStream<R>]

ReadableStreamDefaultReader

方法签名
read() => Promise<ReadableStreamDefaultReadResult<R>>
releaseLock() => void

ReadableStreamDefaultReadValueResult

属性类型
donefalse
valueT

ReadableStreamDefaultReadDoneResult

属性类型
donetrue
value

ReadableWritablePair

属性类型描述
readable
ReadableStream<R>
writable
WritableStream<W>
提供了一种方便、可链式调用的方式,将此可读流通过一个转换流(或任何其他 { writable, readable } 对)进行管道传输。它简单地将流传输到所提供对的可写端,并返回可读端以供进一步使用。对流的管道传输将在管道持续期间锁定该流,防止任何其他使用者获取读取器。

WritableStream

此 Streams API 接口为向目标(称为接收器)写入流数据提供了一个标准抽象。此对象内置了背压和队列机制。

属性类型
lockedboolean
方法签名
abort(reason?: any) => Promise<void>
getWriter() => WritableStreamDefaultWriter<W>

WritableStreamDefaultWriter

此 Streams API 接口是由 WritableStream.getWriter() 返回的对象,一旦创建,它会将写入器锁定到 WritableStream,确保没有其他流可以向底层接收器写入数据。

属性类型
closedPromise<undefined>
desiredSizenumber
readyPromise<undefined>
方法签名
abort(reason?: any) => Promise<void>
close() => Promise<void>
releaseLock() => void
write(chunk: W) => Promise<void>
----------------------------------------------------------------------
preventAbortboolean
preventCloseboolean
signal
AbortSignal

一个信号对象,允许您与 DOM 请求(例如 Fetch)进行通信,并在必要时通过 AbortController 对象中止该请求。

属性类型描述
abortedboolean如果此 AbortSignal 对应的 AbortController 已发出中止信号,则返回 true,否则返回 false。
onabort
(this: AbortSignal, ev: Event) => any
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
addEventListener<K extends "abort">(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions) => void为类型属性值为 type 的事件添加一个事件监听器。callback 参数设置了事件被派发时将调用的回调函数。options 参数设置了监听器特定的选项。为了兼容性,该参数可以是一个布尔值,此时方法的行为与将值指定为 optionscapture 属性完全相同。当设置为 true 时,optionscapture 属性会阻止 callback 在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false(或不存在)时,callback 不会在事件的 eventPhase 属性值为 CAPTURING_PHASE 时被调用。无论哪种情况,如果事件的 eventPhase 属性值为 AT_TARGETcallback 都会被调用。当设置为 true 时,optionspassive 属性表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,optionsonce 属性表示回调函数只会被调用一次,之后事件监听器将被移除。事件监听器会被追加到目标的监听器列表中,但如果存在具有相同 typecallbackcapture 的监听器,则不会被追加。
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void为类型属性值为 type 的事件添加一个事件监听器。callback 参数设置了事件被派发时将调用的回调函数。options 参数设置了监听器特定的选项。为了兼容性,该参数可以是一个布尔值,此时方法的行为与将值指定为 optionscapture 属性完全相同。当设置为 true 时,optionscapture 属性会阻止 callback 在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false(或不存在)时,callback 不会在事件的 eventPhase 属性值为 CAPTURING_PHASE 时被调用。无论哪种情况,如果事件的 eventPhase 属性值为 AT_TARGETcallback 都会被调用。当设置为 true 时,optionspassive 属性表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,optionsonce 属性表示回调函数只会被调用一次,之后事件监听器将被移除。事件监听器会被追加到目标的监听器列表中,但如果存在具有相同 typecallbackcapture 的监听器,则不会被追加。
removeEventListener<K extends "abort">(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions) => void从目标的事件监听器列表中移除具有相同 typecallbackoptions 的事件监听器。
属性类型
"abort"
Event

DOM 中发生的事件。

属性类型描述
bubblesboolean根据事件的初始化方式返回 true 或 false。如果事件按逆向树顺序经过其目标的祖先节点,则为 true,否则为 false。
cancelBubbleboolean
cancelableboolean根据事件的初始化方式返回 true 或 false。其返回值并非总是有意义,但 true 可以表示在事件被派发期间,可以通过调用 preventDefault() 方法来取消部分操作。
composedboolean根据事件的初始化方式返回 true 或 false。如果事件会触发超出其目标根节点的 ShadowRoot 节点的监听器,则为 true,否则为 false。
currentTarget
EventTarget
返回当前正在调用其事件监听器回调的对象。
defaultPreventedboolean如果 preventDefault() 方法被成功调用以表示取消,则返回 true,否则返回 false。
eventPhasenumber返回事件所处的阶段,取值为 NONE、CAPTURING_PHASE、AT_TARGET 和 BUBBLING_PHASE 之一。
isTrustedboolean如果事件是由用户代理派发的,则返回 true,否则返回 false。
returnValueboolean
srcElement
EventTarget
target
EventTarget
返回事件被派发到的目标对象。
timeStampnumber返回事件的时间戳,以相对于时间原点的毫秒数表示。
typestring返回事件的类型,例如 "click"、"hashchange" 或 "submit"。
AT_TARGETnumber
BUBBLING_PHASEnumber
CAPTURING_PHASEnumber
NONEnumber
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
composedPath() => EventTarget[]返回事件传播路径中所有将被调用的目标对象(监听器将被触发的对象),但排除影子树中模式为"closed"且无法从事件当前目标访问的任何节点。
initEvent(type: string, bubbles?: boolean, cancelable?: boolean) => void
preventDefault() => void如果在 cancelable 属性为 true 时调用,并且在执行被动属性设为 false 的事件监听器时调用,则向触发事件的操作发出信号,表示需要取消该操作。
stopImmediatePropagation() => void调用此方法可阻止事件在当前监听器运行结束后到达任何已注册的事件监听器,并且在树结构中传播时,还能阻止事件到达任何其他对象。
stopPropagation() => void在树结构中传播时,调用此方法可阻止事件到达除当前对象以外的任何对象。

EventTarget 是一个 DOM 接口,由能够接收事件并可能拥有事件监听器的对象实现。 EventTarget 是一个 DOM 接口,由能够接收事件并可能拥有事件监听器的对象实现。

方法签名描述
addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions) => void为事件类型属性值为 type 的事件附加一个事件监听器。callback 参数设置事件被分派时将调用的回调函数。options 参数设置监听器特定的选项。为了兼容性,这可以是一个布尔值,此时该方法的行为等同于将值指定为 options 的 capture。当设置为 true 时,options 的 capture 会阻止 callback 在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false(或不存在)时,callback 在事件的 eventPhase 属性值为 CAPTURING_PHASE 时不会被调用。无论哪种情况,如果事件的 eventPhase 属性值是 AT_TARGET,callback 都会被调用。当设置为 true 时,options 的 passive 表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,options 的 once 表示回调函数只会被调用一次,之后事件监听器将被移除。事件监听器会被附加到 target 的事件监听器列表中,如果具有相同的 type、callback 和 capture,则不会被附加。
dispatchEvent(event: Event) => boolean将合成事件 event 分派到 target,如果事件的 cancelable 属性值为 false 或其 preventDefault() 方法未被调用,则返回 true,否则返回 false。
removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean) => void从 target 的事件监听器列表中移除具有相同 type、callback 和 options 的事件监听器。

EventListener#### EventListenerObject

方法签名
handleEvent(evt: Event) => void

AddEventListenerOptions

属性类型
onceboolean
passiveboolean

EventListenerOptions

属性类型
captureboolean

ArrayBufferView

属性类型描述
buffer
ArrayBufferLike
数组引用的 ArrayBuffer 实例。
byteLengthnumber数组的字节长度。
byteOffsetnumber数组的字节偏移量。

ArrayBufferTypes

允许用于 ArrayBufferView 及其相关 Typed Arrays 缓冲区的 ArrayBuffer 类型。

属性类型
ArrayBuffer
ArrayBuffer

FormData

提供了一种方便的方式来构建表示表单字段及其值的键/值对集合,然后可以使用 XMLHttpRequest.send() 方法轻松发送。它使用的格式与将编码类型设置为 "multipart/form-data" 时表单使用的格式相同。

方法签名
append(name: string, value: string | Blob, fileName?: string) => void
delete(name: string) => void
get(name: string) => FormDataEntryValue | null
getAll(name: string) => FormDataEntryValue[]
has(name: string) => boolean
set(name: string, value: string | Blob, fileName?: string) => void
forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void

File

提供有关文件的信息,并允许网页中的 JavaScript 访问其内容。

属性类型
lastModifiednumber
namestring

URLSearchParams

URLSearchParams 类是 require('url').URLSearchParams 的全局引用。 https://nodejs.org/api/url.html#class-urlsearchparams

方法签名描述
append(name: string, value: string) => void将指定的键/值对作为新的搜索参数追加。
delete(name: string) => void从所有搜索参数列表中删除给定的搜索参数及其关联值。
get(name: string) => string | null返回与给定搜索参数关联的第一个值。
getAll(name: string) => string[]返回与给定搜索参数关联的所有值。
has(name: string) => boolean返回一个布尔值,指示是否存在该搜索参数。
set(name: string, value: string) => void将与给定搜索参数关联的值设置为指定值。如果存在多个值,则删除其他值。
sort() => void
toString() => string返回一个适合在 URL 中使用的查询字符串。不包含问号。
forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void

一种 8 位无符号整型数值的类型化数组。数组内容初始化为 0。如果无法分配请求的字节数,则会抛出异常。

属性类型描述
BYTES_PER_ELEMENTnumber数组中每个元素的字节大小。
buffer
ArrayBufferLike
数组引用的 ArrayBuffer 实例。
byteLengthnumber数组的字节长度。
byteOffsetnumber数组的字节偏移量。
lengthnumber数组的长度。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
copyWithin(target: number, start: number, end?: number) => this将数组中由 start 和 end 指定的部分复制到同一数组的 target 位置,返回 this 对象。
every(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean检测数组中的所有元素是否都满足指定测试条件。
fill(value: number, start?: number, end?: number) => this使用 value 填充数组中由 start 和 end 指定的部分,返回 this 对象。
filter(predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array返回数组中满足回调函数指定条件的元素。
find(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined返回数组中第一个满足谓词为 true 的元素值,否则返回 undefined。
findIndex(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number返回数组中第一个满足谓词为 true 的元素的索引,否则返回 -1。
forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void对数组中的每个元素执行指定操作。
indexOf(searchElement: number, fromIndex?: number) => number返回数组中某个值的首次出现索引。
join(separator?: string) => string将数组的所有元素用指定的分隔符字符串连接起来。
lastIndexOf(searchElement: number, fromIndex?: number) => number返回数组中某个值的最后一次出现索引。
map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array对数组的每个元素调用定义的回调函数,并返回包含结果的数组。
reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number) => number为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积结果,并作为下一次调用回调函数的参数。
reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number) => number
reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U) => U为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积结果,并作为下一次调用回调函数的参数。
reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number) => number按降序为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积结果,并作为下一次调用回调函数的参数。
reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U) => U对数组中的每个元素(从末尾到开头)调用指定的回调函数。回调函数的返回值是累积结果,并作为参数提供给下一次对回调函数的调用。
reverse() => Uint8Array反转数组中的元素顺序。
set(array: ArrayLike<number>, offset?: number) => void设置一个值或一组值。
slice(start?: number, end?: number) => Uint8Array返回数组的一部分。
some(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean判断指定的回调函数是否对数组中的任意元素返回 true。
sort(compareFn?: (a: number, b: number) => number) => this对数组进行排序。
subarray(begin?: number, end?: number) => Uint8Array获取此数组底层 ArrayBuffer 存储的一个新 Uint8Array 视图,引用从 begin(包含)到 end(不包含)的元素。
toLocaleString() => string使用当前区域设置将数字转换为字符串。
toString() => string返回数组的字符串表示形式。
valueOf() => Uint8Array返回指定对象的原始值。
属性类型
lengthnumber

Headers

这个 Fetch API 接口允许你对 HTTP 请求和响应头执行各种操作,包括检索、设置、添加和删除。一个 Headers 对象关联着一个头部列表,该列表初始为空,包含零个或多个名称值对。你可以使用像 append() 这样的方法向其中添加内容(参见示例)。在此接口的所有方法中,头部名称的匹配是大小写不敏感的。

方法签名
append(name: string, value: string) => void
delete(name: string) => void
get(name: string) => string | null
has(name: string) => boolean
set(name: string, value: string) => void
forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any) => void

类型别名

BodyInit

Blob | BufferSource | FormData | URLSearchParams | ReadableStream<Uint8Array> | string

ReadableStreamDefaultReadResult

ReadableStreamDefaultReadValueResult<T> | ReadableStreamDefaultReadDoneResult

EventListenerOrEventListenerObject

EventListener | EventListenerObject

BufferSource

ArrayBufferView | ArrayBuffer

ArrayBufferLike

ArrayBufferTypes[keyof ArrayBufferTypes]

FormDataEntryValue

File | string

RequestCache

"default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload"

RequestCredentials

"include" | "omit" | "same-origin"

HeadersInit

Headers | string[][] | Record<string, string>

Record

构造一个类型,该类型具有一组类型为 T 的属性 K

{
[P in K]: T;
}

RequestMode

"cors" | "navigate" | "no-cors" | "same-origin"

RequestRedirect

"error" | "follow" | "manual"

ReferrerPolicy

"" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"

HttpResponseType

在将 HTTP 响应返回给客户端之前如何解析它。

'arraybuffer' | 'blob' | 'json' | 'text' | 'document'