Important: As of Firefox 52, the methods defined in this mixin have been moved to the WindowOrWorkerGlobalScope mixin, and other browsers will follow suit. Look to that page for up-to-date details.
The GlobalFetch mixin of the Fetch API contains the GlobalFetch.fetch() method used to start the process of fetching a resource.
GlobalFetch is implemented by both Window and WorkerGlobalScope, which means that it's available in pretty much any context in which you might wish to fetch resources.
A fetch() promise will reject with a TypeError when a network error is encountered, although this usually means permissions issue or similar. An accurate check for a successful fetch() would include checking that the promise resolved, then checking that the Response.ok property has a value of true. An HTTP status of 404 does not constitute a network error.
GlobalFetch is controlled by the connect-src directive of Content Security Policy rather than the directive of the resources it's retrieving.
Properties
None.
Methods
GlobalFetch.fetch()- Starts the process of fetching a resource.
Examples
In our basic fetch example (run example live) we use a simple fetch call to grab an image and display it in an <img> tag. You'll notice that since we are requesting an image, we need to run Body.blob() (Response implements body) to give the response its correct MIME type.
var myImage = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
return response.blob();
}).then(function(response) {
var objectURL = URL.createObjectURL(response);
myImage.src = objectURL;
});
Specifications
| Specification | Status | Comment |
|---|---|---|
| Fetch The definition of 'GlobalFetch' in that specification. |
Living Standard | Initial definition |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Basic support | 42.0 | (Yes) | 39 (39) 34[1] |
No support | 29 28[1] |
No support |
| Streaming response body | 43.0 | ? | ? | ? | ? | ? |
| Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|---|---|
| Basic support | No support | 42.0 | (Yes) | No support | No support | No support | No support | No support | 42.0 |
| Streaming response body | No support | 43.0 | ? | ? | ? | ? | ? | ? | 43.0 |
[1] This API is implemented behind a preference.