Headers.set() - Web API 接口参考 编辑

headers接口中 set() 方法在可以在已经声明中的headers对象修改已有的一组键值对或者创建一个新的键值对。

set() 方法和 append()方法不同的是声明的Headers对象是否已经存在对应的keys是否已经存在并且已经赋值。set() 方法将会覆盖之前的value,然而 append()方法只会在Headers对象的尾部添加一个新的键值对。

为了安全策略,一些 Headers对象中的键值对只能客户端去控制。这些key包括Forbidden response header name 和 Forbidden responese header names 。

语法

myHeaders.set(name, value);

参数

name
name就是需要对HTTP header 设置新值的key, 一般为字符串。如果设置的name 不是HTTP header规范里面规定的name,那么将会抛出错误"TypeError"。
value
 value就是 name对应的值。

返回

Void.

Example

创建一个新的 Headers 对象:

var myHeaders = new Headers(); // Currently empty

你可以用append()方法给Headers 对象增添一个新的键值对,然后用set()方法去改变这个键值对:

myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.set('Content-Type', 'text/html');

如果这个键值对不存在,那么set()方法首先创建一个键值对,然后给它赋值。如果这个键值对存在,那么set()方法将会覆盖之前的value值:

myHeaders.set('Accept-Encoding', 'deflate');
myHeaders.set('Accept-Encoding', 'gzip');
myHeaders.get('Accept-Encoding'); // Returns 'gzip'

如果你需要增加一个键值对,而不是要覆盖之前的键值对,那么你需要用append()方法。

Specifications

SpecificationStatusComment
Fetch
set()
Living Standard 

Browser compatibility

BCD tables only load in the browser

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:73 次

字数:4602

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文