6

我在我们公司的 Intranet 上有一台运行 JBoss 的服务器。我想从我的机器(也在 Intranet 上)向该服务器发送 API 调用,并使用 JQuery 获取生成的 XML 响应。

我阅读了维基百科上的条目,但很困惑这如何适用于我的情况,因为我们的机器只有 IP 地址,没有域名。

我有

  • 服务器网址:10.2.200.3:8001/serviceroot/service
  • 客户端IP地址:10.2.201.217

我的问题是:

  1. 据我了解,这些是不同的领域,对吧?所以我必须使用代理向服务器发出 JQuery.ajax 调用
  2. 如果我想避免做(2),我可以在服务器上安装 Apache 并在那里用 JS 代码表单服务器页面吗?但随后 JS 将来自 10.2.200.3,服务器位于 10.2.200.3:8001。根据政策,这些不是被视为不同的域吗?

谢谢!

4

2 回答 2

2
  1. 是的。

  2. 是的,不同的端口意味着不同的来源。这是一段时间以来大多数浏览器在 JS 中所做的事情,但在HTML5 草案中明确描述了这一点, XMLHttpRequest 草案引用了该草案。

如果 A 和 B 的端口组件不相同,则返回 false。

于 2010-04-21T22:39:20.040 回答
2

如果端口或地址不同,则它们是不同的域。如果您需要从有效的另一台服务器访问信息,您实际上有两种选择。一种是编写某种反向代理,将您的请求从同一源服务器传递到辅助服务器。

或者,如果您可以控制次要目标,并且提供直接访问没有安全风险,您可以考虑调整次要服务器以发出 JSON-P 响应。

于 2010-04-22T00:40:04.907 回答