2015-02-08 64 views
1

我有一個loginmein.aspx頁面有兩個文本框和一個按鈕。我打電話給一個名爲verify.aspx的Web服務,如果登錄是正確的,則返回hello!以xml格式(如下)。Ajax解析XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 

<response> 
    <command method="alert"> 
     <message>hello world!</message> 
    </command> 
</response> 

我已經構建了另一個簡單的應用程序來學習如何通過ajax調用相同的Web服務。

如何閱讀「你好!」並通過ajax顯示true或false到瀏覽器上的標籤?

+0

你將如何確定從這個 '世界你好' 迴應TRUE;或'FALSE'? – haim770 2015-02-08 07:44:14

+0

如果它讀取你好世界!在xml中,這意味着它是成功的,如果它沒有閱讀hello world,那麼它是成功的!假 – CompressedAir 2015-02-08 07:45:57

回答

0

您可以分析使用DOMParser XML響應:

var xmlhttp = new XMLHttpRequest(); 

xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState === 4 && xmlhttp.status === 200) { 
     var resXml = xmlhttp.responseText; 
     document.getElementById("lblMessage").innerHTML = resXml; 

     var parser = new DOMParser(), 
      doc = parser.parseFromString(resXml, 'text/xml'), 
      message = doc.querySelector('response > command > message'); 

     // check for existence of 'message' element 
     if (message != null) 
      alert(message.textContent); // hello world! 
     else 
      alert('Oops!'); // error 
    } 
}; 

xmlhttp.open("GET", "microsoft/webservice/verify.aspx?username= " + document.getElementById("txtUserName").value + "&password=" + document.getElementById("txtPassword").value, true); 
xmlhttp.send(); 

DomParser

+0

Haim770感謝您花時間回答這個問題,我如何將我的網站服務網址與此功能連接起來? – CompressedAir 2015-02-08 08:06:37

+0

您是否設法向Web服務端點發出Ajax請求並獲取響應? – haim770 2015-02-08 08:11:43

+0

我已經通過成功或失敗(1或0)的登錄,但DomParser得到了迴應,我如何使用DomParser我的web服務網址? – CompressedAir 2015-02-08 08:19:28