gpt4 book ai didi

Angular 2 请求的资源上不存在 'Access-Control-Allow-Origin' header

转载 作者:可可西里 更新时间:2023-11-01 17:00:02 25 4
gpt4 key购买 nike

<分区>

我收到这个错误:

XMLHttpRequest cannot load API_URL. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access.

同时从本地主机调用远程 API。我无权访问 API 服务器,因此我不允许在服务器端使用 CORS。以下是我如何从我的 Angular 服务中调用 API:

this.http.get(url)
.map(response => response.json())
.subscribe(data => this.myData.push(data));

之后我想使用成员myData。在查看 chrome 的开发工具时,我在网络选项卡中看到一条 200 消息。它还显示了正确的 JSON 响应,但我在控制台中收到上述错误并且无法使用数据。

我一直在寻找如何解决这个问题。但是修改浏览器选项和服务器设置不是一个选项。如果可能的话,我也想避免制作代理服务器。这也是我第一次使用 Angular 2,所以我对它的工作原理没有很透彻的了解;所以我可能应该以完全不同的方式提出请求。

我还尝试将设置 Access-Control-Allow-Origin 添加到我的标题中,如下所示:

let headers = new Headers();
headers.append('Access-Control-Allow-Headers', 'Access-Control-Allow-Origin');
headers.append('Access-Control-Allow-Origin', this.serverName);
this.http.get(url , {headers: headers})
.map(response => response.json())
.subscribe(data => this.myData.push(data));

但这导致了这个错误:

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource

这次响应是空的。查看请求 header ,我没有看到 Access-Control-Allow-HeadersAccess-Control-Allow-Origin 设置了 .append 的值 调用。我是否正确设置了这些 header 选项??

使用 jsonp 而不是 http 也没有帮助,因为 header 上的应用程序类型设置为 json:

refused to execute script from API_URL because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.

如果您能详细解释修复,我将不胜感激,因为我一直无法在网络上遵循任何解决方案,也许我遗漏了一些重要的假设或必须知道的。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com