【问题标题】:CORS error when sending request to ASP.NET Web API向 ASP.NET Web API 发送请求时出现 CORS 错误
【发布时间】: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>

【问题讨论】:

标签: c# asp.net-mvc angular


【解决方案1】:

您请求的站点似乎不允许从任何其他域访问任何资源。表示您请求的站点尚未实施 CORS(跨源请求共享)。

临时解决方案: 您可以使用代理 (https://crossorigin.me/https://google.com),所有您需要做的 --> 只需在您的 url 之前附加 https://crossorigin.me/ 并了解更多详细信息

检查HERE

第二个永久解决方案: 您必须为您请求资源的站点实施跨源资源共享。

第三个: 第三是您可以从浏览器中禁用 CORS (https://alfilatov.com/posts/run-chrome-without-cors/)。

查看这些网站了解更多详情1,2

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 2015-10-07
  • 2014-12-04
  • 2016-05-12
  • 1970-01-01
  • 2014-12-02
  • 2022-01-06
相关资源
最近更新 更多