Seite 1 von 1
AJAX json oder jquery oder plain js
Verfasst: Dienstag 30. August 2011, 19:47
von FrankTheFox
Hi,
ich möchte eine Seite dynamisch gestalten. Ich möchte, ohne die Seite neu zu laden Datenbankanfragen machen. Ich weiß nicht womit ich anfagen soll.
Ich möchte z.B. Drag 'n' Drop', was anklicken oder während der Eingabe (wie Google) was suchen im Textfeld.
Gruß
Franky
Re: AJAX json oder jquery oder plain js
Verfasst: Dienstag 30. August 2011, 20:24
von deets
Woher sollen wir wissen, womit du anfangen sollst? Was ist denn ueberhaupt deine Frage?
Re: AJAX json oder jquery oder plain js
Verfasst: Dienstag 30. August 2011, 20:58
von jens
Es gibt halt mehrere Möglichkeiten. Entweder man schickt Ergebnisse zum Client via JSON und zwar Rohdaten, die dann in JS zu html verwurstet die aktuelle Seite ersetzt/ergänzt...
Ich finde diesen Weg allerdings blöd, weil man so keine Template-Engine nutzten kann. OK, man könnte was in JS nehmen, aber dann hat man einmal Template-Engine auf dem Server und wahrscheinlich eine anders funktionierende auf dem Client.
Also mach ich es in PyLucid teilweise so, das fertig gerenderte HTML-Bröckchen als JSON übermittelt werden und auf dem Client dann ein Teil der Seite ersetzten. Ist natürlich langsamer, aber dafür braucht man weniger Logik in JS und kann das gewohnte Template-System auf dem Server nutzten...
Re: AJAX json oder jquery oder plain js
Verfasst: Mittwoch 31. August 2011, 08:07
von noisefloor
Hallo,
Ich finde diesen Weg allerdings blöd, weil man so keine Template-Engine nutzten kann.
Hm? Du kannst doch mittels JS das von der Template-Engine generierte HTML manipulieren. Manipulieren in dem Sinn, dass man z.B. Werte für Felder einsetzten kann oder bestimmte Elemente ausblendet.
@FrankTheFox:
Drag'n'Drop hat erstmal nix mit AJAX zu tun, Anklicken kannst du auch in plattem HTML.
Gruß, noisefloor
Re: AJAX json oder jquery oder plain js
Verfasst: Mittwoch 31. August 2011, 09:13
von jens
noisefloor hat geschrieben:Ich finde diesen Weg allerdings blöd, weil man so keine Template-Engine nutzten kann.
Hm? Du kannst doch mittels JS das von der Template-Engine generierte HTML manipulieren. Manipulieren in dem Sinn, dass man z.B. Werte für Felder einsetzten kann oder bestimmte Elemente ausblendet.
Klar, kann man das machen. Kommt halt auf die konkrete Anwendung an. Möchte man nur wenige Daten "tauschen" oder einen ganzen HTML-Block auswechseln.
z.B.: Eine Tabelle: Man kann die neuen Tabellen Daten Nackt als JSON bekommen und Zelle für Zelle die neuen Werte per JS eintragen. Man könnte aber auch im AJAX Request gleiche die neue Tabelle als HTML bekommen und in der Seite austauschen...