这是我的处境:
我有一个Web服务器计算机,客户端计算机,以及运行某些程序侦听XMLHttpRequests的第三台计算机。
客户端从客户端计算机访问Web服务器,进行一些更改,然后单击“保存”。此时,数据正在发送回Web服务器和第三台计算机。所有这些都是使用Javascript和XMLHttpRequest对象完成的。
发布到Web服务器的功能正常,但是发布到第三台计算机的功能不起作用,因为它具有不同的IP /域。
我该如何进行这项工作?客户端计算机->第三台计算机不起作用,因为它在不同的域中Web服务器计算机->由于防火墙问题,第三台计算机不起作用
任何想法都将不胜感激!
您遇到的是Same origin policy,而不是防火墙问题。
如果计算机共享顶级域,则可以set their document.domain properties to match:
[两个站点共享一个共同的顶级尽管未通过“相同主机”检查相互设置各自的document.domain的DOM属性相同的合格右手片段他们当前的主机名。
否则,您可能需要将第一台主机设置为将请求代理到另一台主机。
您也可以使用Cross-Origin Resource Sharing。可以在由第一个域托管的页面中呈现由第二个域托管的iframe,并且可以从父页面的上下文访问该iframe的iframe hack。
[另一种选择(当然有点技巧)是,如果数据不敏感,请使用window object。您也可以使用YQL来从其他域中获取数据。