AJAX & Include

CarnivoreCI

Mitglied
Hallo,

Ich hab meine WebSite etwas überarbeitet und verwende nun AJAX.
Jetzt steh ich allerdings vor einem großen Problem.

Sonst hab ich immer nen <div> Container gehabt und per PHP-Include Daten geladen.
Jetzt habe ich ein AJAX Menu welches ohne reload daten ändern kann.

Wie kann ich denn jetzt mein PHP-Include verändern?
Oder ist mein Ansatz falsch?

Danke & Vg
Roman
 
Du könntest so vorgehen:
Falls die zu includende Datei alleine lauffahig ist für deinen Zweck, rufts du halt diese auf per AJAX.

Falls nicht, dann rufst du das PHP-Skript auf, welches sonst per Link angesteuert wurde, und gibst bei dem Request eine Variable per GET mit, woran das Skript erkennt, dass es per AJAX angefordert wurde.


Im Skript selbst:
  • Erstmal den Ausgeabepuffer an per ob_start()
  • bevor du zu der Passage kommst, wo der Inhalt des <div> ausgegeben wird, leerst du den Ausgabepuffer per ob_clean()
  • ist die Passage, die den Inhalt des <div> erzeugt abgearbeitet, beendest du das Skript per exit()

Ob das Ganze so funktioniert, hängt allerdings davon ab, wie du generell arbeitest, verwendest du Templates, wirds wohl nicht so einfach gehen.
 
Hey,

könnte jemand von euch mir mal den kompletten code schicken? Ich probiere Spry zu nutzen und will damit in nem div ne seite laden. Kann aber leider nicht folgen mit dem was ihr da geschrieben habt. Es wäre nett wenn jemand von euch hier nen code beispiel pasten könnte.

Danke im vorraus,

Florian
 
Hallo

ich habe eine Frage. Ich habe bei mir mal dieses Beispiel nachgebaut.

Wenn ich da die test.html aufrufe, funktioniert alles wunderbar. Ich habe dann noch eine php Datei aus der html gemacht, das geht auch noch.

Jetzt habe ich aber eine Hauptseite und auf dieser include ich die test Seite mit dem ajax. und da funktioniert es nicht mehr. Kann das sein? Also wenn ich die test Seite direkt aufrufe, klappt es, füge ich sie aber per include zu, geht es nicht.

Woran kann das liegen? Jemand eine Idee?

Grüsse
 
Moin,

Skriptcode wird nicht ausgeführt, wenn du ihn nach dem Laden des Dokumentes in selbiges einfügst...er wird beim Laden eines Dokumentes gelesen, und dann nicht mehr.
Du musst Skriptpassagen, welche später hinzugefügt werden, explicit per eval() ausführen.

Wie das gehen könnte, wurde hier besprochen: http://www.tutorials.de/forum/javas...nd-das-js-soll-sofort-ausgefuehrt-werden.html

Falls du bspw. Prototype nutzen willst, kannst du dies dort beim Ajax.Updater über die Option evalScripts bewirken.
 

Neue Beiträge

Zurück