【问题标题】:return xml through Jquery $.ajax but through cross domain通过 Jquery $.ajax 但通过跨域返回 xml
【发布时间】:2015-06-23 12:49:50
【问题描述】:

我有一个应用程序 X 在某些情况下使用另一个应用程序 Y。

X 在 Apache 服务器上,Y 在 Tomcat 服务器上。

我在 Y 的 html 文件中有一个按钮,它调用 JavaScript 函数 StopApp()。 这个函数 StopApp() 调用 X 上的脚本“StopApp.php”。

所以我在 StopApp() 中所做的类似于

function StopApp()
{
//USING JQUERY $.ajax
  $.ajax({
    type: "GET",
        url: pathofX + "StopApp.php",
        cache: false,
        data:"blablabla",
        dataType: "xml",

      success: function(xml)
    {

    }
  });
}

好的,所以“StopApp.php”返回一个 XML 文档,我想在成功字段中获取 XML 标记的值,但我无法做到这一点。我知道它与跨域有关,因为它是 2 个不同的服务器,但我不知道如何解决它。

【问题讨论】:

    标签: jquery cross-domain


    【解决方案1】:

    如果您被允许更改 StopApp.php(或者,您可以创建一个从 StopApp.php 调用函数的包装器)并将所有逻辑放在这个文件中(我的意思是函数 success 应该执行的所有操作),您可以使用文章Ajax & PHP without using the XmlHttpRequest Object 中的技术。简而言之,您需要使用http:://Y/StopApp.php 源创建一个SCRIPT 元素并将其附加到文档正文。这是一个纯 JS 解决方案,但也许你会发现 jquery 插件可以做到这一点。

    【讨论】:

      【解决方案2】:

      禁止跨域调用,您不能以任何可移植的方式规避这一点。

      顺便说一句,请接受您的一些较早的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-17
        • 1970-01-01
        • 2013-11-06
        • 1970-01-01
        • 1970-01-01
        • 2014-08-15
        • 2012-09-30
        • 1970-01-01
        相关资源
        最近更新 更多