Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 存在访问控制允许原始标头,但浏览器拒绝XMLHttpRequest_Javascript_Apache_Perl_Http Headers_Xmlhttprequest - Fatal编程技术网

Javascript 存在访问控制允许原始标头,但浏览器拒绝XMLHttpRequest

Javascript 存在访问控制允许原始标头,但浏览器拒绝XMLHttpRequest,javascript,apache,perl,http-headers,xmlhttprequest,Javascript,Apache,Perl,Http Headers,Xmlhttprequest,我有一个很奇怪的问题。我有一个Webservice构建,其中包含一个简单的Perl脚本作为API的包装(以允许受限的跨源控制)。 无论如何,为了允许跨源请求,我设置了以下标题: Content-Type: text/plain Access-Control-Allow-Origin: $origin Access-Control-Allow-Methods: POST, GET, OPTIONS Access-Control-Allow-Headers: X-Requested-With, Co

我有一个很奇怪的问题。我有一个Webservice构建,其中包含一个简单的Perl脚本作为API的包装(以允许受限的跨源控制)。 无论如何,为了允许跨源请求,我设置了以下标题:

Content-Type: text/plain
Access-Control-Allow-Origin: $origin
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-Requested-With, Content-Type, Accept, Accept-Language, Content-Language
Content-Security-Policy: connect-src *
X-Content-Security-Policy: connect-src *
X-WebKit-CSP: connect-src *
Access-Control-Max-Age: 1728000
Vary: Accept-Encoding, Origin
其中
my$origin=$ENV{HTTP_origin}/'*'

当脚本请求预期的Ressource时,包装器的响应如下(从Firefox复制):

浏览器显示以下错误:

XMLHttpRequest cannot load http://www.example.com/cgi-bin/wrapper.pl. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example2.com' is therefore not allowed access.`
我还使用
curl
Postman
测试了这个调用,但效果与预期一样。
问题是,所有浏览器似乎都忽略了
访问控制允许原点
标题,即使他已设置。

好的,我发现了问题。错误是我仅在
选项
请求中发送
访问控制允许来源
访问控制允许标题
,而不是在正常的
POST
中发送

XMLHttpRequest cannot load http://www.example.com/cgi-bin/wrapper.pl. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example2.com' is therefore not allowed access.`