Tentando usar o modo de busca e passagem: no-cors
Eu posso atingir esse ponto final,http://catfacts-api.appspot.com/api/facts?number=99
via Postman e retornaJSON
Além disso, estou usando create-react-app e gostaria de evitar a configuração de qualquer servidor.
No meu código de cliente, estou tentando usarfetch
para fazer a mesma coisa, mas recebo o erro:
Nenhum cabeçalho 'Access-Control-Allow-Origin' está presente no recurso solicitado. Origemhttp: // localhost: 3000'não é, portanto, permitido o acesso. Se uma resposta opaca atender às suas necessidades, defina o modo da solicitação como 'no-cors' para buscar o recurso com o CORS desativado.
Então, eu estou tentando passar um objeto, para o meu Fetch, que irá desativar o CORS, assim:
fetch('http://catfacts-api.appspot.com/api/facts?number=99', { mode: 'no-cors'})
.then(blob => blob.json())
.then(data => {
console.table(data);
return data;
})
.catch(e => {
console.log(e);
return e;
});
Curiosamente, o erro que recebo é realmente um erro de sintaxe com esta função. Eu não tenho certeza do meu realfetch
está quebrado, porque quando eu removo o objeto {mode: 'no-cors'} e forneço um URL diferente, ele funciona perfeitamente.
Eu também tentei passar o objeto{ mode: 'opaque'}
, mas isso retorna o erro original de cima.
Acredito que tudo o que preciso fazer é desativar o CORS. O que estou perdendo?