2010-06-04 5 views
1

AJAX 연결에 문제가 있습니다. AJAX 연결이 만들어지고, XML 데이터가 반환되지만 (올바르게), IE가 아닌 다른 브라우저에서 데이터가 올바르게 표시되지 않습니다. IE에서 잘 작동하는 xmlData.childNodes [1]을 사용하여 요소를 얻었지 만 Opera에서 Firefox, Chrome 등에서 IE에서 반환되는 것보다 다른 데이터가 반환됩니다. IE는 DOM 요소를 색인하는 다른 방법을 사용한다고 생각합니다. 0에서 시작하기보다는 1에서 시작하거나 그 선을 따라 시작하는 것입니다.

어쨌든 요소의 이름을 참조하여 XML 요소에서 데이터를 가져올 수 있습니까? 이것이 가능하지 않은 경우이 색인 생성 문제를 해결하려면 어떻게해야합니까? http://www.w3schools.com/dom/dom_nodes_access.aspajax responseXML에서 이름으로 XML 요소 가져 오기?

뿐만 아니라 여기 예 : http://www.w3schools.com/dom/dom_nodes_info.asp

+0

getElementsByTagName ('x')'는 브라우저 DOM (기본적으로 모든 브라우저)에서 작동합니다. 나는 AJAX 요청에 의해 반환 된 XML에서도 작동한다면 100 % 확신하지 못한다. –

+0

참조 http://stackoverflow.com/questions/281443/inconsistent-whitespace-text-nodes-in-internet-explorer 도움이 될 수 있습니다 ... –

+0

실제 XML을 올릴 수있는 기회와 함께 돌아 오는 것과 함께 childNodes를 실행할 때 브라우저에서? – Nathan

답변

2

는 당신이 그 다른 브라우저에서 다시 아무것도지고

0

당신은 살펴 보셨나요? 어쩌면 XML이 잘못된 MIME 형식으로 되돌아오고있는 것일까 요?

아마도 childNodes가 아닌 선택기 방법을 사용하는 것이 더 나을 것 같습니다. ie

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

이렇게하면 xml이 나중에 변경되면 어떤 색인이 가리키는 지 기억할 필요가 없습니다.