2012-03-25 173 views
0

我有wsdl文件,我需要從中獲取數據。我怎麼能做到這一點?我試圖用Ajax 這樣做:Ajax獲取wsdl網絡服務請求

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

你會得到什麼錯誤? – safarov 2012-03-25 09:23:24

回答

0

http://forum.jquery.com/topic/jquery-ajax-to-call-a-wsdl-web-service

下面的鏈接應該解釋爲什麼你不能使用AJAX跨域查詢: http://www.w3schools.com/xmL/xml_parser.asp

跨域

訪問出於安全原因,現代的瀏覽器不允許訪問跨越 域名。

這意味着,網頁和它試圖加載的文件 必須位於同一臺服務器上。

W3School的示例都打開位於W3Schools 域的XML文件。

如果你想在你的一個網頁上使用上面的例子,你加載的文件必須位於你自己的服務器上。

你可以在你的Web服務器創建一個代理網頁來訪問WSDL Web服務並返回結果給AJAX請求

1

我認爲你缺少的是一個數據:{} 我讀了如果在使用$ .ajax 時沒有包含這些錯誤,那麼很可能您需要dataType:「json」或服務所使用的任何數據類型。

這裏是我使用針對在線web服務的例子:

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 
       } 
      ); 
    } 

希望你可以用這個例子來修復自己的代碼