Headers
一、认识
Fetch API
的 Headers
接口允许您对 HTTP
请求和响应头执行各种操作。这些操作包括检索,设置,添加和删除。一个 Headers
对象具有关联的头列表,它最初为空,由零个或多个键值对组成。你可以使用 append()
方法添加 之类的方法添加到此 (参见 示例)。在该接口的所有方法中,标题名称由不区分大小写的字节序列匹配。
一个 Headers
对象也有一个关联的 guard
,它具有不可变的值,request
,request-no-cors
,response
或none
。这会影响 set()
, delete()
, 和append()
方法 改变 header
.
二、构造函数
2.1 Headers()
Headers()
创建一个新的 Headers
对象。
语法
var myHeaders = new Headers(init);
init
: 通过一个包含任意HTTP headers
的对象来预设你的Headers
. 可以是一个ByteString
对象; 或者是一个已存在的Headers
对象。
三、实例方法
3.1 headers.append()
headers.append()
在一个Headers
对象内部,Headers
接口的 append()
方法可以追加一个新值到已存在的 headers
上,或者新增一个原本不存在的 header
。
Headers.set()
和 append()
两者之间的不同之处在于当指定 header
是已经存在的并且允许接收多个值时,Headers.set()
会重写此值为新值,而append()
会追加到值序列的尾部。
语法
myHeaders.append(name,value);
-
name
: 要追加给Headers
对象的HTTP header
名称。 -
value
: 要追加给Headers
对象的HTTP header
值。
3.2 headers.delete()
headers.delete()
方法可以从 Headers
对象中删除指定 header
.
语法
myHeaders.delete(name);
name
: 需删除的HTTP header
名称。
3.3 headers.entries()
headers.entries()
以 迭代器 的形式返回 Headers
对象中所有的键值对。
语法
headers.entries();
返回
返回一个迭代器.
3.4 headers.forEach()
headers.forEach()
3.5 headers.get()
headers.get()
方法以 ByteString
形式从 Headers
对象中返回指定 header
的全部值。如果 Header
对象中不存在请求的 header
,则返回 null
。
语法
myHeaders.get(name);
返回
从 Headers
对象中检索的 HTTP header
名,如果 HTTP header
中不存在指定 header
名则会抛出一个TypeError
3.6 headers.has()
Headers
接口的 has()
方法返回一个布尔值来声明一个 Headers
对象 是否包含特定的头信息。
语法
myHeaders.has(name);
name
: 你要测试的HTTP
头字段的名称。如果给出的名称不在HTTP
头中,将爬出异常TypeError
。
3.7 headers.keys()
headers.keys()
方法返回一个 headers(Object)
对象所有 key
组成的迭代器,通过迭代器可以遍历 headers
这个对象,返回的迭代器中的元素 key
都是字符串。
语法
headers.keys();
返回
返回 headers
对象中所有 key
组成的迭代器 iterator
。
3.8 headers.set()
Headers
接口中 set()
方法在可以在已经声明中的 headers
对象修改已有的一组键值对或者创建一个新的键值对。
set()
方法和 append()
方法不同的是声明的 Headers
对象是否已经存在对应的 keys
是否已经存在并且已经赋值。set()
方法将会覆盖之前的 value
,然而 append()
方法只会在 Headers
对象的尾部添加一个新的键值对。
语法
myHeaders.set(name, value);
-
name
:name
就是需要对HTTP header
设置新值的key
,一般为字符串。如果设置的name
不是HTTP header
规范里面规定的name
,那么将会抛出错误TypeError
。 -
value
:value
就是name
对应的值。
3.9 headers.values()
Headers.values()
方法返回一个可迭代数值,通过这个数值可以遍历 Headers
中键值对的 value
值。返回的 value
都是 ByteString
对象。
语法
headers.values();
返回值
返回一个由键值对中 value
组成的数组。