代码之家  ›  专栏  ›  技术社区  ›  Stefan Kendall

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

  •  0
  • Stefan Kendall  · 技术社区  · 15 年前

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

    www.foo.com 我在同一台服务器上运行Tomcat, www.foo.com:8080/services . 但是,当一个文件 foo.com 按如下方式进行Ajax调用:

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

    如果我手动浏览到上面给出的URL,我会得到一个错误响应,而不是XML文档。这里可能出什么事了?

    1 回复  |  直到 15 年前
        1
  •  1
  •   NickFitz    15 年前

    由于Tomcat在不同的Remt端口(8080,而不是80)上运行,因此它被视为不同的源,因此您会遇到 the same-origin policy :

    如果协议 端口(如果指定了端口) 和主机对于这两个页面是相同的。

    (我的重点)。

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