jQuery无法访问java Web服务
我正在尝试为我们的Web服务编写一个简单的“概念验证”前端。webservice是一个JavaWebApp,返回在tomcat中运行的简单xml。 前端由简单的html页面和一些jquery函数组成。我在本地机器上开发页面,而Web服务在我们的一台服务器上运行 基本上我就是这么做的:jQuery无法访问java Web服务,java,xml,node.js,jquery,Java,Xml,Node.js,Jquery,我正在尝试为我们的Web服务编写一个简单的“概念验证”前端。webservice是一个JavaWebApp,返回在tomcat中运行的简单xml。 前端由简单的html页面和一些jquery函数组成。我在本地机器上开发页面,而Web服务在我们的一台服务器上运行 基本上我就是这么做的: var url = "http://ourserver.com:51088/service/action/?param=123"; $.get(url,function(data,status) { ale
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代理服务器,它将任何localhost:51088/path传递给ourserver.com:51088/path。因此,我将url
var更改为
var url = "http://localhost:51088/service/action/?param=123";
同样,在浏览器中测试此url会生成xml。因此node.js代理服务器工作正常
当我在Firebug中运行jquery代码时,我现在一致地获得重新加载页面以获取源代码: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,但仍然没有调用success函数。在我看来,您的代理服务器没有按预期工作
至于您的第一个问题,在我看来,这是跨域请求问题。您拼错了“成功”选项。当您尝试向…发出请求时,您的控制台显示了什么……谢谢,我已经检查了所有输入错误,错过了这一个。现在可以了。