从Apache托管文件到同一服务器上的Tomcat servlet的AJAX调用失败

时间:2009-11-13 16:40:30

标签: javascript jquery ajax tomcat

为什么我的AJAX请求失败?我有一个网站

www.foo.com,我在同一台服务器www.foo.com:8080/services上运行Tomcat。但是,当foo.com上的文件发出ajax调用时:

$.get("http://foo.com:8080/services/action.do", null, myCallback );

我得到一个错误响应,而不是我手动浏览到上面给出的url时得到的xml文档。这里可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

由于Tomcat在一个不同的端口上运行(8080而不是80),它被认为是一个不同的起源,所以你遇到了the same-origin policy

  

如果协议,端口(如果指定了一个端口),则Mozilla认为两个页面具有相同的来源,并且两个页面的主机都相同。

(我的重点)。

虽然这来自Mozilla文档,但该策略在所有浏览器中都以相同的方式实现 - 所有浏览器都可以安全使用; - )