1

ここでは、XHTML のすべての div 要素を単純に走査しようとしています http://www.w3.org/。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 に答える