我有我想查询外部服务器上的数据库。 要做到这一点,我将我的本地服务器(Tomcat)的上创建一个AJAX调用(只是XMLHttpRequest对象 - 我没有使用任何JavaScript库)页面标有查询。 粘贴完全相同的网址到Firefox使其尝试下载一个XML文档。 我的目标是使用AJAX来获取XML文档。
我遇到的问题是,当我做与AJAX调用,萤火虫表明GET响应返回302“暂时移动”用一个红色的X旁边。 对于GET响应头与OAuth授权位置参数,当我复制并粘贴带我到正确的页面位置参数(告诉我下载的XML对象)。
编辑:我试图使用jQuery的它$.get("URL", function(data){alert(data)});
同样的事情发生了 - 毫无戒备,但在Firebug红色GET请求和302。
基于这些信息,我认为我调用数据库第一次尝试我重定向到一些OAuth的东西,然后返回一个授权的网址来访问数据库。 这是我应该用什么来调用数据库,获取XML对象返回,然后做我的事。 AJAX似乎并不能够处理重定向,并且不是崩溃。
我不知道这是正确的,但是,因为我尝试使用下面的代码:
else if (xmlhttp.readyState == 4 && xmlhttp.status == 302){
alert("Hello 302!");
}
else {
document.getElementById("test").innerHTML = "On state: " + xmlhttp.readyState + "<br />HTTP Status: " + xmlhttp.status;
}
它没有给我一个警告 - 相反,它表明,它是在状态4和状态0。我不明白为什么它会返回状态0。(编辑:固定在回答1和没有提到的错字改变)
所以我的问题是:
- ,究竟是什么,是怎么回事?
- 什么是0的状态,为什么萤火虫给我一个X旁边302控制台,为什么没有重定向?
- 我怎样才能解决这个问题?
- 一旦我解决它,我就能抓住该XML文件,或者是有别的东西,我需要做什么?
具有更新编辑:这是一个跨站点脚本问题。 我去外部服务器上跑完全相同的脚本,并能够检索和分析包含查询结果的XML文档。 唯一的障碍是搞清楚如何从外部服务器做到这一点。 我有机会到外部服务器的配置,将研究如何操纵它允许通过其他网站的数据库查询访问。