【问题标题】:CORS not working in my MVC app. Getting Header error despite settings web.configCORS 在我的 MVC 应用程序中不起作用。尽管设置了 web.config,但仍出现标题错误
【发布时间】:2014-08-06 09:42:26
【问题描述】:

尝试向我的 MVC 应用发出 CORS 请求时出现以下错误。

XMLHttpRequest cannot load http://www.ASite.com/gallery/cors/0. Request header field Cache-Control is not allowed by Access-Control-Allow-Headers. 11576?EventId=3108:1
error: Server responded with 0 code.

我已将以下自定义标头添加到我认为应该允许 CORS 请求的 web.config 中。有人可以帮忙吗?

<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Headers" value="*" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, PUT" />
  </customHeaders>
</httpProtocol>

【问题讨论】:

    标签: asp.net-mvc http-headers cors


    【解决方案1】:

    马修的回答忽略了主要问题。您不能在 Access-Control-Allow-Headers per the specification 中使用 *。您必须指定要允许的确切标题。

    如果有很多标头发生变化,您可能需要查看服务器端脚本以读取 Access-Control-Request-Headers HTTP 请求标头,然后将正确的标头添加到 Access-Control-Allow-Headers 响应中。

    【讨论】:

    • 当然。我想添加可以让它为 Julian 工作的代码。您的解释更完整,因此请点赞。
    • 谢谢大家!我很感激。现在完美运行。
    【解决方案2】:

    您的 web.config 指定允许所有标头。你应该只指定你需要的:

    <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
    

    【讨论】:

      猜你喜欢
      • 2017-09-29
      • 2020-10-01
      • 1970-01-01
      • 2017-08-04
      • 2020-03-21
      • 2019-08-11
      • 1970-01-01
      • 2019-12-25
      • 2019-09-17
      相关资源
      最近更新 更多