The mode
read-only property of the Request
interface contains the mode of the request (e.g., cors
, no-cors
, same-origin
, or navigate
.) This is used to determine if cross-origin requests lead to valid responses, and which properties of the response are readable.
Syntax
var myMode = request.mode;
Value
-
A
RequestMode
value. -
The associated mode, available values of which are:
same-origin
— If a request is made to another origin with this mode set, the result is simply an error. You could use this to ensure that a request is always being made to your origin.no-cors
— Prevents the method from being anything other thanHEAD
,GET
orPOST
. If any ServiceWorkers intercept these requests, they may not add or override any headers except for these. In addition, JavaScript may not access any properties of the resultingResponse
. This ensures that ServiceWorkers do not affect the semantics of the Web and prevents security and privacy issues arising from leaking data across domains.cors
— Allows cross-origin requests, for example to access various APIs offered by 3rd party vendors. These are expected to adhere to the CORS protocol. Only a limited set of headers are exposed in theResponse
, but the body is readable.navigate
— A mode for supporting navigation. Thenavigate
value is intended to be used only by HTML navigation. A navigate request is created only while navigating between documents.
If not defined, the default value of
no-cors
is assumed.
Example
In the following snippet, we create a new request using the Request.Request()
constructor (for an image file in the same directory as the script), then save the request mode in a variable:
var myRequest = new Request('flowers.jpg'); var myMode = myRequest.mode; // returns "no-cors" by default
Specifications
Specification | Status | Comment |
---|---|---|
Fetch The definition of 'mode' 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 |
navigate mode |
49.0 | ? | 46 (46) | No support | ? | No support |
Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|---|
Basic support | No support | 49.0 | (Yes) | No support | No support | No support | No support | No support | 49.0 |
navigate mode |
No support | No support | ? | No support | No support | No support | No support | No support | 49.0 |
See also
Document Tags and Contributors
Tags:
Contributors to this page:
tkvw,
chrisdavidmills,
abbycar,
jsx,
jongmoon,
Rob W,
MashKao,
albertstill,
dgashmdn,
jpmedley,
Sebastianz,
kscarfone
Last updated by:
tkvw,