2010-06-04 95 views
1

我遇到了一個我正在修復的AJAX腳本問題 - 正在建立AJAX連接,XML數據被返回(正確),但是在除IE以外的任何瀏覽器中數據都沒有正確顯示。元素是通過使用xmlData.childNodes [1]獲得的 - 在IE中可以正常工作,但在Opera,Firefox,Chrome等中,返回的數據不同於IE中返回的數據。我認爲IE使用了一種不同的索引DOM元素的方法,所以不是從0開始,而是從1開始,或者沿着這些行開始。

無論如何,知道 - 我怎樣才能通過引用元素的名稱從XML元素獲取數據?如果這是不可能的,我該如何解決這個索引問題?在ajax responseXML中通過名稱獲取XML元素?

+0

'getElementsByTagName('x')'在瀏覽器DOM上工作(基本上在所有瀏覽器中)。我不是100%確定,如果它也適用於AJAX請求返回的XML? – 2010-06-04 02:07:56

+0

請參閱http://stackoverflow.com/questions/281443/inconsistent-whitespace-text-nodes-in-internet-explorer可能會有所幫助... – 2010-06-04 02:12:03

+0

發佈實際XML的任何機會,以及您的回報從瀏覽器運行childNodes時? – Nathan 2010-06-04 05:05:44

回答

2

你在那些其他瀏覽器得到任何東西回來?也許xml會返回錯誤的MIME類型?

你最好使用選擇器方法而不是僅僅是childNodes。即

elements = xmldoc.getElementByTagName('tag') 
element = xmldoc.getElementById('id') 

這樣,如果xml在未來發生變化,您將不必記住哪個索引指向哪裏。