1

我只是想在http://www.w3.org/中遍历 XHTML 中的所有 div 元素。我将 HTML 复制到 w3c.html 并运行以下代码。但是由于我的代码失败,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()
}
*/
}
4

1 回答 1

0

您不能在发送请求后立即使用 responseText 属性。您需要创建一个在完成后将被调用的函数,如下所示:

var xmlhttprequest;

xmlhttprequest = new XMLHttpRequest();
xmlhttprequest.open('GET', 'w3c.html', true);
xmlhttprequest.send();
xmlhttprequest.onreadystatechange = function () {
    // Check if request done and it didn't fail
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        alert('The ResponseText is '+xmlhttp.responseText);
    }
}
于 2012-04-23T18:56:16.747 回答