Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery无法访问java Web服务_Java_Xml_Node.js_Jquery - Fatal编程技术网

jQuery无法访问java 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

我正在尝试为我们的Web服务编写一个简单的“概念验证”前端。webservice是一个JavaWebApp,返回在tomcat中运行的简单xml。 前端由简单的html页面和一些jquery函数组成。我在本地机器上开发页面,而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代理服务器,它将任何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函数。

在我看来,您的代理服务器没有按预期工作


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

您拼错了“成功”选项。

当您尝试向…发出请求时,您的控制台显示了什么……谢谢,我已经检查了所有输入错误,错过了这一个。现在可以了。