2016-07-26 102 views
0

我想消費一個web服務。我是webservices的新手。這裏的問題是,我沒有得到響應和代碼只是生成錯誤並不會在所有進入的成功代碼:消費肥皂web服務使用ajax jquery

<!DOCTYPE html> 
<html> 
<head> 
<title> 
My Web Service Test Code using Jquery 
</title> 
<script src="js/jquery-1.4.1.min.js" type="text/javascript"></script> 
</head> 
<body> 
<div> 
<ul> 
<form id="form1" runat="server"> 
<li> 
    <label>Member ID</label> 
    <input id="member_id" type="text" /> 
    <input id="blnLoadMember" type="button" value="Get Details" onclick="javascript:GetMember();" /> 

</li> 
</form> 
</ul>  
<div id="MemberDetails"></div> 

</div> 
<script type="text/javascript"> 
var soapMessage = '<soap:Envelope  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><HelloWorld xmlns="http://tempuri.org/" /></soap:Body></soap:Envelope>'; 

function GetMember() { 
    $('input[type=button]').attr('disabled', true); 
    $("#MemberDetails").html(''); 
    $("#MemberDetails").addClass("loading"); 
    $.ajax({ 

     url: "http://172.16.15.112:786/Members.asmx/HelloWorld", 
     type: "POST", 
     dataType: "xml", 
     data: soapMessage, 
     processData: false, 
     contentType: "text/xml; charset=\"utf-8\"", 

     success: function (response) { 
      alert("success"); 
      alert(response); 
      console.log(response); 

      // $('#MemberDetails').html(JSON.stringify(response.d)); 

     }, 

     error: OnGetMemberError 
    }); 
} 

function OnGetMemberError(request, status, error) { 
    alert(error); 
    $("#MemberDetails").removeClass("loading"); 
    $("#MemberDetails").html(request.statusText); 
    $('input[type=button]').attr('disabled', false); 
} 

</script> 
</body> 
</html> 

任何幫助將不勝感激。

的錯誤是:

"TypeError: unable to get property 'documentElement' of undefined or null refernence"

+0

你正在得到哪個錯誤?添加例外詳情將有所幫助。 – Anil

+0

「TypeError:無法將gt屬性'documentElement'的未定義或空引用」 – ploofah

+0

嘗試添加元標記 Anil

回答

0

的問題是與Web服務,它通過將一些標題中出現global.config文件來解決。

+0

您是否可以編輯您的答案以包含您的修補程序,以便其他人可以從您的解決方案中受益? – Todd

0

發佈XML在IE中你應該添加元標記。

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

下面是工作代碼,數據類型應該是文本和內容類型應該是text/xml。試試這個,錯誤警報將有助於追蹤實際問題。

$.ajax({ 
    url: "http://172.16.15.112:786/Members.asmx/HelloWorld", 
    data: '<soap:Envelope  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><HelloWorld xmlns="http://tempuri.org/" /></soap:Body></soap:Envelope>', 
    type: 'POST', 
    contentType: "text/xml", 
    dataType: "text", 
    success : function (response) { 
     alert("success"); 
     alert(response);}, 
    error : function (xhr, ajaxOptions, thrownError){ 
     alert(xhr.status);   
     alert(thrownError); 
    } 
}); 

對於瀏覽器所需的內容,請參閱所以question

+0

這不工作:| – ploofah

+0

謝謝,它現在確實提醒成功,但現在響應無效。 – ploofah

+0

你需要檢查你的web方法HelloWorld服務「http://172.16.15.112:786/Members.asmx」,這應該返回null。 – Anil