我正在制作跨域POST请求。我向网络服务器添加了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)
以下是请求期间传输的所有数据包:http://pastie.org/1882455
正如您所看到的,它仍然会在OPTIONS请求后发送POST请求。它在Firefox中也不起作用。 Firefox显示POST请求已发送到服务器,响应代码为200,但响应本身为空。
答案 0 :(得分:2)
Access-Control-Allow-Origin和Access-Control-Allow-Credentials标头应该是任何 CORS响应的一部分(包括预检OPTIONS请求和POST请求)。您当前的示例仅在OPTIONS响应中显示它们。
答案 1 :(得分:1)
您可以在超级用户中查看以下帖子的答案。我曾经碰巧在Chrome-dev谷歌群体上发布了这个问题。
答案 2 :(得分:0)
完全相同的自己,但我的服务器访问,最后代理所有这些调用,让它运行。但这在发行方面并不理想。您是否尝试过匹配请求的标头和/或值与响应的那些?另外,在我的研究中,浏览器版本可以播放。请提供您正在调试的确切版本。
答案 3 :(得分:0)
我认为您还需要将Access-Control标头放在POST响应中吗?