我正在尝试为我们的web服务编写一个简单的“概念验证”前端。 webservice是一个返回在tomcat中运行的简单xml的java webapp。 前端由简单的HTML页面和一些jQuery功能组成。我在本地机器上开发页面,而Web服务在我们的一台服务器上运行。jQuery无法访问java web服务
基本上这是我做的:
var url = "http://ourserver.com:51088/service/action/?param=123";
$.get(url,function(data,status) {
alert("Data: " + data + "\nStatus: " + status);
});
当我把网址在Firefox地址栏中,我得到的结果XML。
当我运行jQuery代码时,Firebug显示了生成的xml,但警报从不显示。
想这可能是一个跨浏览器的脚本问题,我写了通过本地主机的任何一点点的node.js代理服务器:51088 /路径ourserver.com:51088/path。所以我改变了url
VAR到
var url = "http://localhost:51088/service/action/?param=123";
同样,在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或本地网址也没关系。两者都在控制台日志中返回xml,但成功函数仍未调用。
当您尝试向http://oursever.com:51088/... –
生成的xml – hepabolu