【问题标题】:How to enable CORS as I dont have WebApiConfig.cs如何启用 CORS,因为我没有 WebApiConfig.cs
【发布时间】:2017-05-13 07:37:42
【问题描述】:

我想在 ASP 网站的控制器上启用 CORS。教程显示我必须更改WebApiConfig.cs并添加一行config.EnableCors();

问题是我没有这个文件。我的关闭是RouteConfig.cs,那么在我的项目中在哪里启用CORS?

我在web.config 文件中添加了以下部分

<httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
     </customHeaders>
</httpProtocol>

但是对 API 的 Ajax 调用仍然返回

服务器响应状态为 405(不允许方法)

当我使用浏览器调用 API 时,它可以工作。

【问题讨论】:

    标签: asp.net asp.net-web-api cors


    【解决方案1】:

    CORS 或跨域资源共享用于来自浏览器的跨域通信。您从浏览器调用的端点是通过在响应中发送 Access-Control-* 标头来告诉浏览器是否允许浏览器完成和处理请求的端点。

    当浏览器收到响应时,它首先检查 Access-Control-* 标头是否存在以及其中的信息是否与您的请求相匹配,如果它们存在并且其中的信息与请求相匹配,则浏览器将允许您的自定义客户端代码处理响应,如果标头不存在或标头中的信息与您发出的请求不匹配,则浏览器将阻止响应以进行任何进一步处理。

    您要做的就是在响应中设置这些标头。

    如需进一步了解 CORS 标头:W3C CORS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-06
      • 2017-08-08
      • 2019-06-28
      • 1970-01-01
      • 2019-08-18
      • 2019-04-20
      • 2020-11-06
      • 2015-05-06
      相关资源
      最近更新 更多