跨站点AJAX - 从Tomcat服务器请求数据

时间:2011-07-27 14:08:24

标签: javascript ajax tomcat cross-domain

我有问题。我目前有一台Tomcat服务器正在侦听我的机器的端口 8080 ,并且正在运行一个Web应用程序(可在 localhost:8080 / test-app 访问)。我希望这台服务器提供动态生成的XML文件。它在任何浏览器中运行良好,它可以实现我想要的东西。

现在,我想在另一台服务器上构建一个网页(我使用Aptana的内部服务器,侦听端口 8020 ),这将从第一台服务器获取XML文件。 问题是,我是否尝试使用Chrome或FireFox,是否从 localhost:8020 / printxml.html 获取此页面,或者直接从我的文件系统获取此页面(位于 file:/// E:/ < ...> /printxml.html ),我没有收到数据。

这是我获取数据的JavaScript代码(我使用jQuery的$.ajax()方法):

function treatResponse(xml) {
    if(xml == "OK")
        // Deal with the data here
    else
        alert("Error during XML generation");
}

function treatError(xhr, ajaxOptions, thrownError) {
    alert("Connection error");
}

function my_login() {

    var props = {
        type : "POST",
        url : "http://localhost:8020/printxml.html",
        success : treatResponse,
        error : treatError
    };

    $.ajax(props);

}

我做错了什么? 我读过应该在服务器端添加特殊标头以通知跨站点请求是可行的(使用 Access-Control-Allow-Origin ),但我只能'让它发挥作用。

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试在localhost

之前添加http://
    url : "http://localhost:8020/printxml.html",