2013-05-31 156 views
1

我正在尝试为我们的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,但成功函数仍未调用。

+0

当您尝试向http://oursever.com:51088/... –

+0

生成的xml – hepabolu

回答

2

拼写错误“成功”选项。

+0

发出请求时,您的控制台会显示什么内容谢谢,我已检查了是否有错别字以及错过了这一项。它现在有效。 – hepabolu

0

在我看来,你希望你的代理服务器无法正常工作。

并作为你的第一个问题,在我看来,它是跨域请求的问题。