Ajax - html-fragment "importieren"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ajax - html-fragment "importieren"

    Hallo,

    mach grad erste Gehversuche mit Ajax

    hab mir für den Anfang mal das hier durchgesehen http://developer.mozilla.org/de/docs...etting_Started
    und das Beispiel ganz unten so umgemünzt, dass die Ausgabe nicht mehr in ner AlertBox stattfindet sondern in nem Div.

    XML
    Code:
    <?xml version="1.0" ?>
    <p>
        Neuer Text
    </p>
    HTML
    Code:
    <div id="textDiv">Alter Text</div>
    Javascript
    Code:
        var xmldoc = http_request.respon************ML;
        var root_node = xmldoc.getElementsByTagName("p").item(0);
        document.getElementById("textDiv").firstChild.data = (root_node.firstChild.data);
    Keine große Sache - das klappt soweit und im Prinzip hab ich damit die Grundlagen mir alle möglichen Daten aus dem nachgeladenen Xml irgendwo auf der Seite darzustellen.

    Mein Gedanke war nun, auf diese Weise einfach ein fertiges Html-Fragment nachzuladen und dieses komplett zum Beispiel in einen Div-Container zu importieren.

    Also hab ich das html-fragment quasi im xml in ein Element namens root verpackt
    Code:
    <?xml version="1.0" ?>
    <root><div><h1>Blabla</h1><p>Neuer Text</p></div></root>
    und hab ganz simple umgecodet
    Code:
    var xmldoc = http_request.respon************ML;
    var root_node = xmldoc.getElementsByTagName("root").item(0);
    
    var textDiv = document.getElementById("textDiv");
    textDiv.appendChild(root_node.firstChild);
    Das funktioniert jedoch nur im FF - IE meldet ''Schnittstelle nicht unterstützt" in der Zeile wo ich appendChild() ausführen möchte - googlen hat mich nun soweit gebracht, dass man keinen Knoten aus einem anderen Dokument einhängen kann.

    Sowas wie importNode() aus PHP5-Dom find ich in javascript nicht.

    Hat jemand Vorschläge/Links wie das zu lösen wäre? Oder ist die Idee ein komplettes html-Fragment einfach nachzuladen hinfällig?
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

  • #2
    Re: Ajax - html-fragment &quot;importieren&quot;

    Das Problem dürfte daran liegen, dass der IE als erstes Kind noch einen zusätzlichen Node vom nodeType 7 sieht - einen PROCESSING_INSTRUCTION_NODE, Knoten für Verarbeitungsanweisung.
    Und der lässt sich nicht in eine HTML-Knotenstruktur einhängen.


    Ich bin auf dieses Problem gestossen, als ich versucht habe, mir $E so umzuschreiben, dass ich damit aus einem per AJAX empfangenen XML-Dokument rekursiv die entsprechenden HTML-Knoten erzeuge und einhänge - meine Funktion dazu findest du hier: http://forum.de.selfhtml.org/archiv/2006/4/t128475/

    Sowas wie importNode() aus PHP5-Dom find ich in javascript nicht.
    cloneNode() gibt es, damit kannst du dir eine Kopie eins Knotens erstellen, wahlweise mit oder ohne Unterknotenstruktur.


    Und .innerHTML zum einfügen von per AJAX empfangenem HTML-Code (dann über responseText, nicht über -XML) ist auch immer noch möglich, wenn man das mit dem X nicht zu pedantisch sehen will.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: Re: Ajax - html-fragment &quot;importieren&quot;

      Original geschrieben von wahsaga
      - meine Funktion dazu findest du hier: http://forum.de.selfhtml.org/archiv/2006/4/t128475/
      Perfekt - Thx
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar

      Lädt...
      X