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".
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 from Response.error()
.
opaque
: Response for "no-cors" request to cross-origin resource. Severely restricted.
opaqueredirect
: The fetch request was made with redirect: "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.
Value
A ResponseType
string indicating the type of the response.
Examples
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 Response.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.
const myImage = document.querySelector("img");
const myRequest = new Request("flowers.jpg");
fetch(myRequest)
.then((response) => {
console.log("response.type =", response.type);
return response.blob();
})
.then((myBlob) => {
const objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
});
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
type |
40 |
14 |
39 |
No |
27 |
10.1 |
40 |
40 |
39 |
27 |
10.3 |
4.0 |
See also