Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 访问控制允许源站无法正常工作_Javascript_Http Headers_Xmlhttprequest_Cross Domain_Access Control - Fatal编程技术网

Javascript 访问控制允许源站无法正常工作

Javascript 访问控制允许源站无法正常工作,javascript,http-headers,xmlhttprequest,cross-domain,access-control,Javascript,Http Headers,Xmlhttprequest,Cross Domain,Access Control,我正在提出一个跨域的帖子请求。我向web服务器添加了Access Control-*标题,但Google Chrome javascript控制台提出: XMLHttpRequest cannot load http://api.sharee.dev:3000/assets.json. Origin http://sharee.dev:4000 is not allowed by Access-Control-Allow-Origin. POST http://api.sharee.dev:30

我正在提出一个跨域的帖子请求。我向web服务器添加了Access Control-*标题,但Google Chrome javascript控制台提出:

XMLHttpRequest cannot load http://api.sharee.dev:3000/assets.json. Origin http://sharee.dev:4000 is not allowed by Access-Control-Allow-Origin.
POST http://api.sharee.dev:3000/assets.json undefined (undefined)
以下是请求期间传输的所有数据包:


正如您所看到的,它仍然在选项请求之后发送POST请求。它在Firefox中也不起作用。Firefox显示POST请求被发送到服务器,响应代码为200,但响应本身是空的。

与我的服务器访问权限完全相同,最后代理了所有此类调用以使其运行。但这在分配上并不理想。您是否尝试过将请求的标题和/或值与响应的标题和/或值进行匹配?另外,在我的研究中,浏览器版本可以发挥作用。请给出您正在调试的确切版本

我认为您还需要在POST响应中添加访问控制头?

访问控制允许来源和访问控制允许凭据头应该是任何CORS响应(包括飞行前选项请求和POST请求)的一部分。您当前的示例仅在选项响应中显示它们。

您可以在超级用户中查看以下帖子的答案。不久前,我碰巧在chromium dev google groups上发布了这个问题


Chrome 11.0.696.57测试版,Firefox 4.0.1