The Headers()
constructor creates a new Headers
object.
The Headers()
constructor creates a new Headers
object.
js
new Headers() new Headers(init)
init
Optional
An object containing any HTTP headers that you want to pre-populate your Headers
object with. This can be a simple object literal with String
values, an array of name-value pairs, where each pair is a 2-element string array; or an existing Headers
object. In the last case, the new Headers
object copies its data from the existing Headers
object.
Creating an empty Headers
object is simple:
js
const myHeaders = new Headers(); // Currently empty
You could add a header to this using Headers.append
:
js
myHeaders.append("Content-Type", "image/jpeg"); myHeaders.get("Content-Type"); // Returns 'image/jpeg'
Or you can add the headers you want as the Headers
object is created. In the following snippet we create a new Headers
object, adding some headers by passing the constructor an init object as an argument:
js
const httpHeaders = { "Content-Type": "image/jpeg", "X-My-Custom-Header": "Zeke are cool", }; const myHeaders = new Headers(httpHeaders);
You can now create another Headers
object, passing it the first Headers
object as its init object:
js
const secondHeadersObj = new Headers(myHeaders); secondHeadersObj.get("Content-Type"); // Would return 'image/jpeg' — it inherits it from the first headers object
You can also add the headers you want as the Headers
object is created by using a two-dimensional array to add multiple headers with the same values. In the following snippet we create a new Headers
object with multiple Set-Cookie
headers by passing the constructor an init array as an argument:
js
const headers = [ ["Set-Cookie", "greeting=hello"], ["Set-Cookie", "name=world"], ]; const myHeaders = new Headers(headers);
Specification |
---|
Fetch Standard # ref-for-dom-headers① |
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
Headers |
42 | 14 | 39 | No | 29 | 10.1 | 42 | 42 | 39 | 29 | 10.3 | 4.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Headers/Headers