添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Fetch API

Fetch API 提供了一个获取资源的接口(包括跨域),在功能上与 XMLHttpRequest 有很多相似的地方,但被设计成更具可扩展性和高效性。

Fetch 的核心在于对 HTTP 接口的抽象,包括 Request、Response、Headers、Body,以及用于初始化异步请求的 global fetch。得益于 JavaScript 实现的这些抽象好的 HTTP 模块,其他接口能够很方便的使用这些功能。

PC 浏览器兼容性

Chrome Opera Firefox IE Edge Safari
42 29 39 No 14 10.1

Mobile 浏览器兼容性

iOS Safari Opera Mobile Opera Mini Android Android Chrome Android Firefox
10.3 46 No 67 70 63

语法

参数

  • input: 定义要获取的资源,这可能是
    • 一个 String 字符串,包含要获取资源的 URL
    • 一个 Request 对象
  • init:[可选]一个配置项对象,包括所有对请求的设置,可选参数有
    • method:请求使用的方法,如 GET、POST、PUT、DELETE 等
    • headers:请求的头信息,形式为 Headers 的对象或包含 ByteString 值的对象字面量
    • body:请求的 body 信息:可能是一个 Blob、BufferSource、FormData
    • URLSearchParams 或者 String 对象。注意 GET 或 HEAD 方法的请求不能包含 body 信息
    • mode:请求的模式,如 cors、no-cors 或者 same-origin
    • credentials:请求的 credentials,如 omit、same-origin 或者 include。为了当前域名内自动发送 cookie,必须提供这个选项,从 Chorme 50 实例,这个属性也可以受 FederateCrential 实例或是一个 PasswwordCredential 实例
    • cache:请求的 cache 模型:default、no-store、reload、no-cache、force-cache 或者 only-if-cached
    • redirect:可用的 redirect 模式:follow(自动重定向),error(如果产生重定向将自动终止并且抛出一个错误)
    • referer:一个 USVSting 可以是 no-referrer、click 或一个 URL。默认 client。
    • downgrade、orign、orgin-when-cross-origin、unsafe-url
    • integrity:包括请求的 subresource integrity 值

Guard

Guard 事 Headers 对象的特征。

当使用 Headers() 构造函数创建一个新的 Headers 对象的时候,它的 Guard 被设置成 none (默认值)。

当创建 Request 和 Response 对象的时候,它将拥有一个按照以下规则实现的与之相关联的 Headers 对象。

Headers

Headers 类(请求头对象)能用于对 HTTP request response 的检索、设置、添加和删除等各种操作。

每个 Headers 类包含一个 Headers 列表,它的初始值为空或者零个或多个键值对。

方法 说明
append() 添加一个 header 信息
delete() 删除指定的 header
entries() 返回 header 对象中的所有键值对,是一个 Iterator 对象
get() 从 Headers 对象中返回指定的值
getAll() 获取所有的 header
has() 检测指定的 header 的键,返回布尔值
keys() 获取所有 header 的键,是一个 Iterator 对象
set() 修改或添加 header
values() 获取所有 header 的值,是一个 Iterator 对象