调用API时Angular 6中的CORS问题

时间:2018-12-30 14:26:59

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

通过CORS策略阻止从原点“ http://URL”到“ http://localhost:4200”的访存:所请求的资源上没有“ 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: "*"));

这个问题我真的很困惑。谁能帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

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

如果您无权更改服务器属性,则可以尝试使用JSONP调用api。作为JSON调用,这并不容易。我已经尝试过了,但是服务器也没有允许我这样做。

答案 1 :(得分:0)

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