0

我在与我AspNetBoilerplate angular app.

无论我调用哪个外部服务,我都会返回CORS 错误,因为调用会在标头中获取编译指示。

这是我在控制台中得到的错误:

from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

这发生在最简单的调用中:

this.http.get('http://maps.google.com/places').subscribe(result => console.log(result));

我有一种感觉,HTTP interceptor这是困扰我的地方,但我需要指导我应该如何以 ABP 的方式解决这个问题。

当然,我已经制作了角度injectable services来包含我的 HTTP 客户端请求。

4

1 回答 1

0

您需要在 Projectname.Web.Host 项目中打开 appsettings.json 并将实际连接的主机添加到 CorsOrigins 属性中。在您的情况下,它是http://localhost:4200

"App": {
    "ServerRootAddress": "http://localhost:4200/",
    "ClientRootAddress": "http://localhost:4201/",
    "CorsOrigins": "http://localhost:4200"
},
于 2019-05-19T14:43:02.590 回答