2012-10-29 44 views
0

這應該是很容易查找的東西,但我看到的任何相關文檔在這種情況下都不起作用。比方說,你有一個響應來自Web服務調用回來用下面的XML:在JavaScript/Ajax中,如何獲取XMLDocument中根元素的值?

<?xml version="1.0" encoding="utf-8"?> 
<string xmlns="http://tempuri.org/">Hello, World! str=1</string> 

我只是希望能夠提取的價值 - 你好,世界! str = 1 - 而不必使用string.replace()或其他任何類似的東西。如果XML存儲在一個名爲response的變量中,並且以下代碼被調用:

alert(response.documentElement.nodeValue) 

「undefined」是什麼顯示出來。有沒有搞錯?我只想從web方法中獲取一個字符串或任何類型的普通原語(我沒有使用JSON或任何東西),但如何做到這一點的文檔很難找到。你怎麼做到這一點?謝謝!

編輯:下面的代碼:

<WebMethod()> _ 
Public Function HelloWorld(ByVal str As Int32) As String 
    Return "Hello, World! str=" & str 
End Function 

<html> 
<body> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/JavaScript"> 
    <!-- 
     $.ajax({ 
      type: "POST", 
      data: "&str=1", 
      dataType: "xml", 
      url: "<HTTP path and filename>.asmx/HelloWorld", 
      timeout: 15000, 
      cache:false, 
      success: function (result) { 
       alert(result); 
      }, 
      error: function() { 
       alert("bad"); 
      } 
     }); 
    //--> 
</script> 
</body> 
</html> 

它顯示:

[object XMLDocument] 
+0

請圍繞如何獲得'response'顯示更多代碼。它很可能是'response'不是'XMLDocument'對象。 –

+2

'response.documentElement.textContent'或'response.documentElement.firstChild.nodeValue'可能是?沒有一個更全面的例子,很難給你一個更好的答案。 – lanzz

+0

他們兩人都工作,Ianzz。謝謝。將您的評論複製到答案中,我會接受它。 – Panzercrisis

回答

1

兩個response.documentElement.textContentresponse.documentElement.firstChild.nodeValue會給你的文本內容與你的示例XML文檔提供。

+0

哇,對不起,我以前在複製到答案時沒有看到它。 – Panzercrisis

相關問題