Avatar ·

Access-Control-Allow-Origin 标头如何工作以及如何修复 CORS 错误?

大家好!我是 JavaScript 新手,尝试从前端向另一个域名(天气 API)发起请求。我有一个纯 JS 的简单代码: ```javascript fetch('https://api.example-weather.com/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('错误:', error)); ``` 但在浏览器控制台中我看到错误: > 从源 'http://localhost:3000' 对 'https://api.example-weather.com/data' 的 fetch 访问已被 CORS 策略阻止:请求的资源上没有 'Access-Control-Allow-Origin' 标头。 我读到需要添加 `Access-Control-Allow-Origin` 标头,但不知道应该添加在哪里:服务器端还是客户端?我尝试像这样在 fetch 中添加它: ```javascript fetch('https://api.example-weather.com/data', { headers: { 'Access-Control-Allow-Origin': '*' } }) ``` 但这不起作用。请解释一下这个标头实际上是如何工作的,以及我应该怎么做才能