Using fetch API with mode: 'no-cors', can’t set request headers
None of your headers are CORS-safelisted
, so they can not be attached to the request.
Explanation:
no-cors
request mode setsguard
property for a headers object torequest-no-cors
To append a name/value (name/value) pair to a Headers object (headers), browser have to run these steps:
Normalize value.
If name is not a name or value is not a value, then throw a TypeError.
If guard is "immutable", then throw a TypeError.
Otherwise, if guard is "request" and name is a forbidden header name, return.
Otherwise, if guard is
"request-no-cors"
and name/value is not aCORS-safelisted request-header
, return. ← your scenarioOtherwise, if guard is "response" and name is a forbidden response-header name, return.
Append name/value to header list.
CORS-safelisted request-header
(case-insensitive):Accept
Accept-Language
Content-Language
Content-Type
, but only if the value is one of:application/x-www-form-urlencoded
multipart/form-data
text/plain
You can learn more about fetch's Headers class
specs here:https://fetch.spec.whatwg.org/#headers-class