Como funciona o cabeçalho Access-Control-Allow-Origin e como corrigir o erro CORS?
Olá a todos! Sou novo em JavaScript e estou tentando fazer uma requisição do frontend para outro domínio (API de clima). Tenho um código simples em JS puro:
```javascript
fetch('https://api.example-weather.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
```
Mas no console do navegador vejo o erro:
> Access to fetch at 'https://api.example-weather.com/data' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Li que é preciso adicionar o cabeçalho `Access-Control-Allow-Origin`, mas não entendo onde adicioná-lo: no servidor ou no cliente? Tentei adicioná-lo no fetch assim:
```javascript
fetch('https://api.example-weather.com/data', {
headers: {
'Access-Control-Allow-Origin': '*'
}
})
```
Mas não funciona. Expliquem, por favor, como esse cabeçalho realmente funciona e o que devo fazer para