我有wsdl文件,我需要从中获取数据。我怎么能这样做?我正在尝试使用ajax 像这样:
jq.ajax({
url: 'http://url.wsdl',
type: 'get',
success: function(data){
alert("OK " + data);
},
error: function (x, y, z) {
alert("ERROR");
}
});
我做错了什么?
使用javascript,jquery等从wsdl web服务获取数据的任何其他方式都是?
答案 0 :(得分:1)
我认为你缺少的是一个数据:{} 我读到如果你在使用$ .ajax时没有包含那些,那就有某种bug 哦,很可能你需要dataType:“json”或服务正在使用的任何数据类型。
以下是我使用针对在线网络服务的示例:
jQuery.support.cors = true; //enables cross domain queries for Ajax
$('#jqueryBtn').click
(function ()
{
$.ajax
(
{
type: "GET",
url: "http://www.webservicemart.com//uszip.asmx/ValidateZip",
data: { 'ZipCode': '22553' },
dataType: 'html',
success: jqSuccess,
error: jqError
}
);
}
希望您可以使用此示例来修复您自己的代码
答案 1 :(得分:0)
http://forum.jquery.com/topic/jquery-ajax-to-call-a-wsdl-web-service
以下链接应解释为什么您不能使用AJAX进行跨域查询: http://www.w3schools.com/xmL/xml_parser.asp:
跨域访问
出于安全原因,现代浏览器不允许跨访问 域。
这意味着,网页和它尝试加载的文件都是, 必须位于同一台服务器上。
W3Schools上的所有示例都是位于W3Schools上的所有开放XML文件 域。
如果您想在其中一个网页上使用上述示例,则您加载的文件必须位于您自己的服务器上。
您可以在Web服务器中创建代理网页以访问WSDL Web服务并将结果返回给AJAX请求