为什么我的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文档。这里可能出现什么问题?
答案 0 :(得分:1)
由于Tomcat在一个不同的端口上运行(8080而不是80),它被认为是一个不同的起源,所以你遇到了the same-origin policy:
如果协议,端口(如果指定了一个端口),则Mozilla认为两个页面具有相同的来源,并且两个页面的主机都相同。
(我的重点)。
虽然这来自Mozilla文档,但该策略在所有浏览器中都以相同的方式实现 - 所有浏览器都可以安全使用; - )