jQuery不能访问java web服务

我正在尝试为我们的web服务编写一个简单的“概念validation”前端。 webservice是一个返回在tomcat中运行的简单xml的java webapp。 前端由一些简单的HTML页面和一些jQuery的function组成。 我在我的本地机器上开发页面,而Web服务在我们的一台服务器上运行。

基本上这是我做的:

var url = "http://ourserver.com:51088/service/action/?param=123"; $.get(url,function(data,status) { alert("Data: " + data + "\nStatus: " + status); }); 

当我把url放在Firefox地址栏中时,我得到了xml。

当我运行jquery代码的时候,Firebug显示了生成的xml,但是这个警告从来没有显示出来。

考虑到这可能是一个跨浏览器的脚本问题,我写了一个小的node.js代理服务器,通过任何本地主机:51088 /pathourserver.com:51088/path。 所以我改变了url var

 var url = "http://localhost:51088/service/action/?param=123"; 

同样,在浏览器中testing这个URL会导致xml。 所以node.js代理服务器工作正常。

当我在Firebug中运行jQuery代码时,我现在一直得到Reload the page to get source for: http://localhost:51088/.....

我现在亏本了

更新:阅读更多后,我改变了jQuery代码:

 $.ajax( { type: "GET", contentType: "application/xml", url: url, datatype: "text xml", xhrFields: { withCredentials: true }, succes: function(xml) { alert(xml) }, error: function(obj, status, err) { alert ("error\nstatus: " + status + "\nerr: " + err)} }); 

现在,如果我使用远程URL或本地URL没关系。 两者都返回控制台日志中的xml,但成功函数仍未调用。

你拼错了“成功”选项。

在我看来,你的代理并不像你期望的那样工作。

至于你的第一个问题,在我看来,这是跨域请求问题。