从远程服务器调用JavaScript函数

从远程服务器调用JavaScript函数,javascript,same-origin-policy,Javascript,Same Origin Policy,我试图从另一台服务器(server2)调用某台服务器(server1)上存在的JavaScript函数,但出现以下错误: 不安全的JavaScript试图从带有URL的帧访问带有URL的帧。域、协议和端口必须匹配 我使用了JSP、Java、JavaScript和tomcat7,有没有办法解决这个问题?任何帮助都将不胜感激 是,必须在javascript文件的头中添加跨源规则,以允许从其他服务器进行访问 否则,您的浏览器不允许您这样做 你可以看看这个问题的答案: 它应该告诉您如何执行此操作。请看一

我试图从另一台服务器(server2)调用某台服务器(server1)上存在的JavaScript函数,但出现以下错误:

不安全的JavaScript试图从带有URL的帧访问带有URL的帧。域、协议和端口必须匹配


我使用了JSP、Java、JavaScript和tomcat7,有没有办法解决这个问题?任何帮助都将不胜感激

是,必须在javascript文件的头中添加跨源规则,以允许从其他服务器进行访问

否则,您的浏览器不允许您这样做

你可以看看这个问题的答案:

它应该告诉您如何执行此操作。

请看一看-它提供了一个RPC功能,允许您跨整个系统调用方法


请看一看演示中的一个

,如前所述,您必须遵守同一原产地政策,这是为保护用户而设计的。 谷歌有一篇好文章:

有几种典型的解决方法:

  • jquery具有getJson或jsonp类型的函数。大多数其他js库都有类似的功能。它们使用动态脚本标记,适合于从其他域获取请求
  • 在域1上创建一个servlet,代理域2-允许不受限制的HTTP方法和使用XmlHTTPRequest
  • 我没有试过


    还有一些改进,比如

    中的跨文档消息传递,您为什么要这样做?如果您只需要从另一台服务器获取一些数据,那么就可以使用ajax。您试图在iframe中调用JS函数吗?我理解正确了吗?为什么不将远程服务器的.js文件包含到服务器的servlet中呢?感谢您的回答,我尝试将其放在头响应中。addHeader(“访问控制允许源代码”,“*”);但这并没有解决问题。我如何添加它?您是否有任何有用的链接。这仅适用于启用CORS(跨域资源共享)-不适用于启用windows之间的跨域访问。