当我有“Access-Control-Allow-Origin:*”时,“Access-Control-Allow-Origin”出错

时间:2017-01-30 10:33:25

标签: javascript http-headers xmlhttprequest cors

我有错误:

  

XMLHttpRequest无法加载http://localhost:5984/cp_config/。一个   通配符'*'不能用于'Access-Control-Allow-Origin'   凭证标志为true时的标头。来源'http://localhost'是   因此不允许访问。凭证模式   XMLHttpRequest由withCredentials属性控制。

但我有标题:

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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以通过让http://localhost:5984/cp_config/的服务器端代码将Origin请求标头值回显到Access-Control-Allow-Origin响应标头值来解决此问题。

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

如何将Origin请求标头值回显到Access-Control-Allow-Origin响应标头值取决于使用哪个Web服务器和服务器端编程环境(如果有){{1} 1}}。

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

答案 1 :(得分:0)

您可以尝试将此添加到web.config

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