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.

Note: The fetch() method's parameters are identical to those of the Request() constructor.




Starts the process of fetching a resource.


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;


Specification Status Comment
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)
No support 29
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.

See also

Document Tags and Contributors

 Last updated by: marekpetak,