조금 이상합니다. 이 스크립트를 다른 컴퓨터에서 실행하여 다른 결과를 얻었습니다. 한 컴퓨터에서이 코드는 작동했지만 다른 컴퓨터에서는 작동하지 않았습니다. 여기 내 JS 코드입니다 :왜 XMLHttpRequest가 null을 반환합니까?
xmlDoc = loadXmlDoc();
printSubClassOf();
function loadXmlDoc(){
var xmlDom = null;
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "resto.owl", false);
xhttp.send(null);
xmlDom = xhttp.responseXML;
return xmlDom;
}
function printSubClassOf(){
a = xmlDoc.getElementsByTagName("SubClassOf");
for(i = 0; i < a.length; i++){
b = xmlDoc.getElementsByTagName("SubClassOf")[i].childNodes;
for(j = 0; j < b.length; j++){
c = xmlDoc.getElementsByTagName("SubClassOf")[i].childNodes[j];
document.write(i + " " + j + " " + c.nodeName + "<br>");
}
}
}
그리고 이것은 내가 구문 분석하려고했던 XML이다.
<Ontology>
<SubClassOf>
<Class IRI="#Chef"/>
<Class IRI="#Employee"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#Customer"/>
<Class IRI="#People"/>
</SubClassOf>
</Ontology>
무슨 일이 일어나고 있는지 Chrome 개발자 도구를 사용했습니다. 상태 코드가 200 인 XHR 요청이 있었지만이 오류가 계속 발생했습니다.
a = xmlDoc.getElementsByTagName("SubClassOf");
Uncaught TypeError: Cannot call method 'getElementsByTagName' of null
나는 loadXmlDoc()
가 XML을 반환하기 전에 printSubClassOf()
이 완료 생각합니다. 어떻게 생각해? 그리고이 문제를 해결하는 방법? 참고 : 나는 이것을 localhost에서 돌렸다.
@bfavaretto 방금 내 질문을 편집했습니다. 해명 해 주셔서 감사합니다. – shankshera
게시 한 코드를 시도해 보았습니다. 정확히 똑같은 코드를 시도 하시겠습니까? 아니면 다른 것입니까? – bfavaretto