【问题标题】:Error with "Access-Control-Allow-Origin", when i have "Access-Control-Allow-Origin: *"当我有“Access-Control-Allow-Origin:*”时,“Access-Control-Allow-Origin”出错
【发布时间】:2017-06-15 11:32:45
【问题描述】:

我有错误:

XMLHttpRequest 无法加载 http://localhost:5984/cp_config/。一种 通配符 '*' 不能在 'Access-Control-Allow-Origin' 中使用 当凭证标志为真时标头。原点“http://localhost”是 因此不允许访问。凭据模式 XMLHttpRequest 由 withCredentials 属性控制。

但我有标题:

res.header("Access-Control-Allow-Origin", "*");

我该如何解决这个问题?

【问题讨论】:

  • 打开浏览器调试器并检查网络面板是否响应头包含 Access-Control-Allow-Origin:*

标签: javascript http-headers xmlhttprequest cors


【解决方案1】:

您可以通过让http://localhost:5984/cp_config/ 的服务器端代码将Origin request-header 值回显到Access-Control-Allow-Origin response-header 值来修复它。

有关错误原因的详细信息,请参阅 MDN 上的“Credentialed requests and wildcards”。

如何将Origin request-header 值回显到Access-Control-Allow-Origin response-header 值取决于用于服务http://localhost:5984/cp_config/ 的Web 服务器和服务器端编程环境(如果有)。

有一些 Web 服务器和编程环境具有良好的 CORS 库,这使得它非常容易实现,还有一些其他的,例如 Apache,几乎不可能单独使用它们来实现支持 CORS 的内容交付添加一些 Python 东西或 PHP 或其他任何东西,以允许对所需的标头值进行访问。

【讨论】:

    【解决方案2】:

    你能试试把这个添加到 web.config 中

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

    【讨论】:

      猜你喜欢
      • 2019-02-07
      • 2016-09-30
      • 2015-06-17
      • 2017-12-29
      • 2018-12-12
      • 2013-09-09
      • 2015-12-10
      • 2013-10-28
      相关资源
      最近更新 更多