Ajax获取对wsdl web-service的请求

时间:2012-03-25 09:19:49

标签: javascript jquery ajax web-services wsdl

我有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服务获取数据的任何其他方式都是?

2 个答案:

答案 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请求