0

XHTML ページの更新に AJAX を使用できますか? HTML ページを接続するために、以前は次のように記述していました。

   xhr.onreadystatechange = function(){
        if(xhr.readyState == 4){
            document.getElementById("target").innerHTML=xhr.responseText;
        }
    }

ただし、AJAX が受け入れないため、 に変更innerHTMLすることはできません。innerXHTML

4

3 に答える 3

3

はい、ajaxを使用してXHTMLページを更新できます。引き続きinnerHTML(またはDOMメソッド)を使用します。HTML5仕様のの説明はinnerHTML、XMLとHTMLの扱い方を説明しています。

さまざまなDOMメソッド、いくつかの読み物/参考資料について:

于 2012-07-27T08:51:16.077 に答える
1

最初に思ったのは「もちろん!」でした。TJ Crowder が指摘するように、仕様に準拠する標準準拠のブラウザーには問題はありません。

ただし、以前のバージョンの IE で innerHTML を使用し、適切な形式の XHTML マークアップを維持するといういくつかの問題についての話があるようです。

古い情報ですのでご注意ください。もう問題ないかもしれません。

http://www.stainlessvision.com/jquery-html-vs-innerxhtml (innerHTML を使用) http://www.stevetucker.co.uk/page-innerxhtml.php

私の経験では逆です。つまり、innerHTMLマークアップを挿入するために使用することは問題ではありません

ここでは、AJAX の部分はまったく関係ありません。innerHTML問題は、ドキュメントに挿入されるマークアップの完全性を維持するために信頼できるかどうかです。

于 2012-07-27T08:58:53.200 に答える
0

私のプロファイルにリンクされている私のサイトは、実際の XHTML、application/xhtml+xml として提供される XHTML として完全に提供されます。右上の [サイト オプション] をクリックすると、たとえば AJAX 経由でコンテンツが読み込まれます。

  • コードはテキストではありません。responseText は使用せず、responseXML を使用してください。
  • innerHTML は絶対に使用しないでください。これは、DOM と互換性のない独自の Microsoft JScript メソッドです。これを使用すると、コードに膨大なあいまいさが追加されます。JavaScript は、AJAX 経由でロードした要素を認識できますが、おそらく認識しません。
  • 私のように importNode を使用します。これらは 2 つの異なるドキュメント所有者であり、異なるドキュメントからコンテンツをロードするには importNode を使用する必要があります。
于 2012-07-30T19:29:37.813 に答える