The type
read-only property of the Response
interface contains the type of the response. It can be one of the following:
basic
: Normal, same origin response, with all headers exposed except “Set-Cookie” and “Set-Cookie2″.cors
: Response was received from a valid cross-origin request. Certain headers and the body may be accessed.error
: Network error. No useful information describing the error is available. The Response’s status is 0, headers are empty and immutable. This is the type for a Response obtained fromResponse.error()
.opaque
: Response for “no-cors” request to cross-origin resource. Severely restricted.opaqueredirect
: The fetch request was made withredirect: "manual"
. The Response's status is 0, headers are empty, body is null and trailer is empty.
Note: An "error" Response never really gets exposed to script: such a response to a fetch()
would reject the promise.
Syntax
var myType = response.type;
Value
A ResponseType
string indicating the type of the response.
Example
In our Fetch Response example (see Fetch Response live) we create a new Request
object using the Request()
constructor, passing it a JPG path. We then fetch this request using fetch()
, extract a blob from the response using Body.blob
, create an object URL out of it using URL.createObjectURL
, and display this in an <img>
.
Note that at the top of the fetch()
block we log the response type
to the console.
var myImage = document.querySelector('img'); var myRequest = new Request('flowers.jpg'); fetch(myRequest).then(function(response) { console.log(response.type); // returns basic by default response.blob().then(function(myBlob) { var objectURL = URL.createObjectURL(myBlob); myImage.src = objectURL; }); });
Specifications
Specification | Status | Comment |
---|---|---|
Fetch The definition of 'type' in that specification. |
Living Standard | Initial definition |
Browser compatibility
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 42 411 | Yes | 39 342 | No | 29 283 | No |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
---|---|---|---|---|---|---|---|
Basic support | No | No | Yes | No | No | No | No |
1. From version 41: this feature is behind the Experimental Web Platform Features
preference. To change preferences in Chrome, visit chrome://flags.
2. From version 34: this feature is behind the dom.fetch.enabled
preference. To change preferences in Firefox, visit about:config.
3. From version 28: this feature is behind the Experimental Web Platform Features
preference.