【问题标题】:CORS issue in Angular 6, while calling the APIAngular 6 中的 CORS 问题,同时调用 API
【发布时间】:2019-05-27 10:53:41
【问题描述】:

CORS 策略已阻止从源“http://localhost:4200”获取“http://URL”的访问权限:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

我在控制台收到上述错误。但是我在 WEB API 中启用了 CORS,其他 API 请求没有显示此错误。

服务:

 ViewPDF(mMagazineId){
    return this.http.get(this.BASE_URL + `/api/ViewPDF/?mMagazineId=${mMagazineId}`);
  }

WebApiConfig.cs

 config.EnableCors(new EnableCorsAttribute("*", headers: "*", methods: "*"));

我真的对这个问题感到困惑。谁能帮我解决这个问题。

【问题讨论】:

  • 我遇到了类似的问题,通过更改 Web 服务器(在我的例子中是 Tomcat)上的配置解决了这个问题。
  • 您配置不正确。只需阅读 Microsoft 的帮助页面和其他资源,例如:click

标签: angular typescript asp.net-web-api angular6


【解决方案1】:

如果可以,您应该将允许的服务器属性更改为 CORS。 How to do it.

如果您无权更改服务器属性,您可以尝试使用 JSONP 调用 api。它不像 JSON 调用那样容易。我已经尝试过了,但服务器也没有让我这样做。

【讨论】:

    【解决方案2】:

    检查后端实体属性和从 angular 传递的 json 模型,即使在重要的情况下它们也是相等的。

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 2020-06-29
      • 1970-01-01
      • 2021-12-11
      • 2020-05-06
      • 2021-09-19
      • 2017-02-18
      • 2020-03-30
      • 2016-12-15
      相关资源
      最近更新 更多