【发布时间】:2019-09-09 14:51:08
【问题描述】:
我正在尝试从 Angular 应用程序和 ASP.NET Web API 发送请求,它们都在 localhost 的两个不同端口上运行。当从 Angular 应用程序(前端)向 Web API 发送请求时,我收到一个 CORS 错误,即“请求的资源上不存在‘Access-Control-Allow-Origin’标头”。
我尝试了很多方法来尝试解决此问题,例如在 WebApiConfig 类中启用 cors、在 web.config 中自定义标头以及拦截飞行前检查,但问题仍然存在。
WebApiConfig.cs
var corsAttr = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(corsAttr);
Web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type,
Access-Control-Allow-Headers, Authorization, X-Requested-
With, X- AuthToken" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT,
DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
<modules runAllManagedModulesForAllRequests="true">
<add name="HandleOptions" type="OptionsModule" />
</modules>
</system.webServer>
【问题讨论】:
-
看看stackoverflow.com/questions/18619656/enable-cors-in-web-api-2 Mosharaf Hossain 答案对我有用
-
也可以看看this。
-
@AmitBaranes 尝试过,但错误仍然出现
-
@Nik 那是我阅读的第一份文件
标签: c# asp.net-mvc angular