No' Access-Control-Allow-Origin' https请求的标头

时间:2016-07-28 19:54:02

标签: javascript xmlhttprequest exchangewebservices

无法发出https <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured" sampleProperty="Default value of sampe property"> 请求 - 将其取回:

XMLHttpRequest

如果我将网址替换为Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://localhost:8443' is therefore not allowed access.,那很好,但www.google.com会做同样的事情。

当我使用Postman / JaSON Chrome扩展程序时,它可以正常运行,所以我尝试https://www.google.com,但这也不起作用。

open -a Google\ Chrome --args --disable-web-security

1 个答案:

答案 0 :(得分:0)

&#34; Access-Control-Allow-Origin&#34;出于安全原因,header设置为服务器端。

如果您可以访问服务器,则可以执行以下操作:

header("Access-Control-Allow-Origin: *");

然而,由于显而易见的原因,这并不安全。您应该始终允许尽可能少的外部访问。

最近我遇到了同样的问题。我所做的只是使用我自己的服务器,从那里向api发出请求,然后让脚本向我的服务器发出请求(从中可以设置访问控制头)。所以基本上,不是向第三方客户端(来自javascript)发出请求,而是将其作为服务器端,然后通过javascript从服务器获取数据。