什么可能导致跨域策略不起作用?

问题描述:

我正试图与另一个域上的网站进行通信。我正在使用javascript(xhr)进行通信。我创建了一个可以从所有域开放访问的crossdomain.xml,并将其添加到我想要与之通信的域的根目录。我甚至可以通过在地址栏中粘贴链接来访问该文件。但我仍然在Chrome控制台上得到相同的错误什么可能导致跨域策略不起作用?

Access-Control-Allow-Origin不允许来源xxxxxxxx.com。

可能是什么原因。有什么我可以忽略的吗?

crossdomain.xml是一个Flash事物,但是您的错误消息似乎与CORS有关。

你需要配置你的服务器发送合适的HTTP响应头(和处理预检OPTIONS请求)按the specification

你是什么意思“从所有域开放访问并将其添加到我想要与之通信的域的根目录”?

除非您使用CORS,否则xhrs不能击中其他域。

您可以在浏览器中访问该文件,因为它在地址栏中键入URL时不使用xhr。

使用其从服务器返回的所有响应CORS手段

“访问控制允许-Origin“”:“origin-list-or-null | “*”

例如

"Access-Control-Allow-Origin:*"