Headers接口方法:set()
set()方法
Headers 接口的 set() 方法为 Headers 对象内的现有标头设置新值,或者如果标头尚不存在,则添加该标头。
set() 和 Headers.append 之间的差别是,如果指定的头已经存在,并且接受多个值,则 set() 将覆盖用新的现有值,而 Headers.append 追加新值的设定值的端部。
出于安全原因,某些标题只能由用户代理控制。这些标头包括禁止的标头名称和禁止的响应标头名称。
set()方法句法
myHeaders.set(name,value);
set()方法参数
- name
- 要设置为新值的 HTTP 标头的名称。如果给定的名称不是 HTTP 标头的名称,则此方法将引发一个
TypeError
。 - value
- 您要设置的新值。
set()方法返回值
Void。
set()方法示例
创建一个空 Headers 对象的操作如下所示:
var myHeaders = new Headers(); // Currently empty
您可以使用 Headers.append 添加一个标头,然后使用 set() 为此标头设置一个新值:
myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.set('Content-Type', 'text/html');
如果指定的头文件不存在,set() 将创建它并将其值设置为指定的值。如果指定的头文件已经存在并且接受多个值,那么 set() 将使用新值覆盖现有值:
myHeaders.set('Accept-Encoding', 'deflate');
myHeaders.set('Accept-Encoding', 'gzip');
myHeaders.get('Accept-Encoding'); // Returns 'gzip'
您需要使用 Headers.append 将新值附加到值上,而不是覆盖它。
规范
规范 | 状态 | 注释 |
---|---|---|
Fetch 在该规范中'set()'的定义。 | Living Standard |
浏览器兼容性
电脑端 | 移动端 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | |
基本支持 | 支持:42 | 支持 | 支持:39 | 不支持 | 支持:29 | 不支持 | 支持:42 | 支持:42 | 支持 | 不支持 | 支持:29 | 不支持 |