I just ran into this. As mentioned in this answer, using mode: "no-cors"
will give you an opaque response
, which doesn’t seem to return data in the body.
opaque: Response for “no-cors” request to cross-origin resource.
Severely restricted.
In my case I was using Express
. After I installed cors for Express and configured it and removed mode: "no-cors"
, I was returned a promise. The response data will be in the promise, e.g.
fetch('http://example.com/api/node', {
// mode: 'no-cors',
method: 'GET',
headers: {
Accept: 'application/json',
},
},
).then(response => {
if (response.ok) {
response.json().then(json => {
console.log(json);
});
}
});