AJAX & jQuery
00willson
- javascript
Habe hier eine dringende Frage. Gibt es hier ein paar jQuery- oder AJAX-Experten unter Euch? Oder könnt Ihr mir alternativ ein Forum empfehlen?
Vielen Dank!
Bei AJaX kann ich dir evtl. helfen. Worum geht es denn?
Gruß
Matze
Hallo Matze,
folgende Frage: ich verwende jQuery, um eine externe HTML-Datei zu laden. Die response wird als HTML ausgeführt. Allerdings benötige aus dieser (geladenen) Datei nur ein bestimmtes, durch ein ID-Attribut gekennzeichnetes DIV.
Ich möchte den per AJAX geladenen Content auf meiner (aufrufenden) Seite in einen DIV-Container einbinden. Anschließend (sobald die response da ist und mittels innerHTML in das DIV eingefügt wurde) möchte ich mittels getElementById auf das geladene, durch ein ID-Attribut gekennzeichnet DIV zugreifen können.
Lade ich die ganze HTML-Seite (ich verwende an dieser Stelle jQuery, das Laden des HTML-Fikes funktioniert auch tadellos), habe ich den ganzen HEADER-Block an Bord, den ich aber gar nicht möchte (ich befürchte, daß ein zweiter HEADER den DOM-Baum durcheinander bringt und die spätere Manipulation des DOM erschwert). Das ist das Problem.
Ich sehe an dieser Stelle folgende Optionen:
* AJAX vorab mitzuteilen, welchen Abschnitt der externen Datei es genau laden soll
* das ganze File zu laden und im Nachgang mit diversen String-Opertionen den Teil herauszuschneiden, den ich benötige.
Variante 1 fände ich deutlich charmanter. Gibt es eine Option, nur gezielt ausgesuchten Content einer externen Datei per AJAX zu laden? Gibt es hier Bibliotheken, die das können? Vielleicht ein PlugIn für jQuery?
Besten Dank vorab!
Hallo,
Allerdings benötige aus dieser (geladenen) Datei nur ein bestimmtes, durch ein ID-Attribut gekennzeichnetes DIV.
Dann lege eine Ressource auf den Server, die dir den Markupschnipsel für dieses Element liefert und sonst nichts.
Lade ich die ganze HTML-Seite ..., habe ich den ganzen HEADER-Block an Bord, den ich aber gar nicht möchte
Ja, das ist ziemlicher Unsinn.
* AJAX vorab mitzuteilen, welchen Abschnitt der externen Datei es genau laden soll
Geht nicht. Man tauscht immer komplette Ressourcen zwischen Server und Client aus. (Nicht zwingend, aber in der Ajax-Praxis.)
* das ganze File zu laden und im Nachgang mit diversen String-Opertionen den Teil herauszuschneiden, den ich benötige.
Ja, oder das HTML parsen, das fragliche Element per DOM herausfriemeln und an bestimmter Stelle einfügen. Die jQuery-Funktion übernimmt HTML-Code als Parameter und parst einen DOM-Baum daraus.
Variante 1 fände ich deutlich charmanter. Gibt es eine Option, nur gezielt ausgesuchten Content einer externen Datei per AJAX zu laden?
Wie gesagt, der Server sollte einfach nur den ausgesuchten Content liefern. Wo ist das Problem, die serverseitige Logik entsprechend einzurichten?
Mathias