1
나는 단지 XHTML의 모든 div 엘리먼트를 여기 그냥 지나치려고한다. http://www.w3.org/. w3c.html에 HTML을 복사하고 다음 코드를 실행했습니다. 그러나 내 코드가 실패하여 responseText가 완전하지 않습니다.POST 요청이 사용되었지만 여전히 responseText가 완료되지 않았습니다. 이유가 무엇입니까?
처음에는 GET 요청을 사용했으며 이것이 문제 (문제라고 생각)라고 생각했지만 여전히 문제를 해결하지 못했습니다.
function traverseHtml()
{
var xmlhttprequest=new XMLHttpRequest();
xmlhttprequest.open('POST','w3c.html',false);
xmlhttprequest.send(null);
var respText=xmlhttprequest.responseText;
alert('The ResponseText is '+respText);
/*var xml=(new DOMParser()).parseFromString(respText,'text/xml');
var result=xml.evaluate('//div',xml,null,XPathResult.ANY_TYPE,null);
var node=result.iterateNext();
alert(node);
while(node)
{
alert(node.childNodes[0].nodeName);
node=result.iterateNext()
}
*/
}
하지만 동기식 메커니즘 (false)을 사용하고 있습니다. 스크립트가 open()이 반환 될 때까지 기다리지 않아야합니까? – hariom
비동기 메커니즘을 사용하는 것이 훨씬 더 좋습니다 (특히 브라우저가 종료 될 때까지 브라우저를 정지시키는 대신 진행 상황을 확인할 수 있으므로). – Andrea
responseText가 여전히 firefox에서 완성되지 않았기 때문에 코드를 실행 해 보셨습니까? 더 나아가 200 대신 0의 상태 코드를 사용해야했습니다. https://bugzilla.mozilla.org/show_bug.cgi?id=331610 – hariom