| Webmaster-Security Fragen zur richtigen Serverkonfiguration oder Absicherung dynamischer Scripte gehören hier hinein. |
Diskussion: Ajax in einer TemplateEngine im Forum Webmaster-Security, in der Kategorie Security Area; Anzeige gibt es einen einfachen weg, bzw. überhaupt eine weg ein AJax Request und Response Objekt in eine Template Engine ...
![]() |
| | #1 (permalink) |
| Registriert seit: 30.03.07 ![]() Likes: 17 | Anzeige gibt es einen einfachen weg, bzw. überhaupt eine weg ein AJax Request und Response Objekt in eine Template Engine zu integrieren. Momentan holt sich mein command das komplette template und schickt das geränderte an das Repsonse objekt. Mit Ajax will ich aber nur die Änderung abschicken!? Nur wie??? Hat jemand Rat? Greetz |
| | |
| | #2 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Ich versteh Dein Problem nicht ganz, Du kannst ja einfach in Deinem Template einen Ajax-Request, welcher durch einen Event oder so ausgelöst wurde, abschicken z.B. an GetTable.php und verarbeitest dann einfach den Response im Template. Wo liegt das Problem?
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | Wenn ich dich richtig verstanden habe, dann ist deine Ansicht richtig. Aber: Über den FrontController wird das richtige command geladen und das entsprechende Template über die Template Engine. Momentan habe ich das auch so, sprich das Ajax Request im Template drinn und eine separate *.php Datei die das Request bearbeitet. Aber wiederspricht das nicht dem Aufbau des zugehörigen Command? Denn eigentlich ist ja mein Command für die Verarbeitung und die Weiterleitung an die entsprechende Klasse für das Ajax Request zuständig, oder? |
| | |
| | #4 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Ok, da Du anscheinend MVC benutzt stellt das ganze auch kein Problem dar. Ich gehe mal davon aus, dass Du in Deinem Command (Controller) Dein Template z.B. in einer run-Methode initialisierst und aufrufst. Wenn Du dann an den Controller ein Request-Objekt übergibst oder Zugriff auf das Request-Objekt hast, dann könntest Du das ganze z.B. so lösen: PHP-Code:
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | Bin noch nicht ganz bei Dir! Also in meinen FrontController läuft ja "eigentlich" das ganze ab. Das Request und Response Object wird an mein Command gereicht. hier prüfe ich welche Aktion übergegebn wurde und ruf edie entsprechende Methode auf. In der Methode z.B. SortAktion initialisiere ich die DB und suche mir die gewünschte Daten. Nun hole ich mir mein Template und schreibe die Daten in die Platzhalter und übergebe das ganze dann im anschluss an mein responseobject und render das ganze PHP-Code: |
| | |
| | #6 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Ok, nochmal ein Beispiel auf Basis Deiner Informationen über Dein Command: PHP-Code:
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | Hast du super hinbekommen... ![]() ich danke Dir sowiet, denn jetzt habe ich es verstanden... denk ich.. mein Problem war das PHP-Code: Danke für Deine Mühe |
| | |
| | #8 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Kein Problem, wenn nochmal was unklar ist schreibst einfach.
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #9 (permalink) |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | So ein Mist, habe doch noch ne Frage. meine Command(nur die eine methode) PHP-Code: PHP-Code: PHP-Code: ich bekommen die Daten bis zu Sortmethode übergeben, und gehändelt. Ich habe immer noch ein Problem nur den zu aktualisierenden Bereich im Browser darzustellen. WO ist mein Fehler? Sieht jemand mehr durhc als ich? Habe wahrscheinlich in meinem Geistigen Wirrwar, noch mehr geistige fehleistungen reinprogrammiert???? |
| | |
| | #10 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Was genau macht er, oder was macht er nicht? Ist $this->update in Deiner Response-Klasse auf True? Kommst Du in der Flush-Methode in den Else-Teil? Welche Daten möchtest Du als json-String Enkodieren? Diese Tabellen-Rows in der SortAktion-Methode? Wenn ja, wäre das keine saubere Lösung. Ein Json-String ist eigentlich mehr für Arrays sprich für eine Menge von Daten gedacht.
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #11 (permalink) |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | ok, vielleicht beschreibe ich das problem etwas genauer (asche über mein haupt). Muss hier auch dazu sagen das Ajax fü mich komplett neu ist! Obwohl Ajax ja eigentlich kein Hexenwerk ist biege ich hier ("hoffe ich") nur falsch ab !? Also: Ja, $this->update ist auf true Ja, ich komme in den else zweig. Ja, ich möcht die Tabellendaten damit enkodieren !? Oder nicht !? Ich habe eine Tabelle mit Daten (Beispiel Kundendaten). Hier können x beliebig viele Daten drinne stehen. Nun setze ich ein Textfeld ein und übergebe einer Javascript Function den Parameter ( onkeyup="search(this);" ), um die Daten in der Tabelle nach den übereinstimmungen aufzulisten Javscript function Soweit ( wenn es denn auch so der richtige Weg ist ?? ) funktioniert das. Sprich die Sort Methode wird aufgerufen und ich kann auf den Request zugreifen. ich hole mir jetzt die Daten aus der DB select * from ....... like 'a%' usw. und möchte diese zurückgeben und auch nur in derc Tabelle aktualisieren. Ich weis auch an dieser stelle nicht ob das der absolute performance schonende weg ist, da ich ja jedes mal die übereinstimmungen aus der DB hole und mir auch die Daten jedesmal anzeigen lassen will. Mein Problem liegt jetzt darin dem AjaxResponse die zur Anzeige zu bringenden Daten zu returnen. Ich bekomme auf meinen Weg immer ein "Null" dargestellt im Browser. Der Frontcontroller ruft am Ende dann im meinen ResponseObject die flush() Methode auf um die Daten dann halt darzustellen. die Update IEgenschaft setze ich mir nur damit ich weis das es eine "Ajax" anfrage ist. Mmmh je mehr ich darüber nachdenke .... Grübel... Muss ich die Daten nicht auch an die JS Funktion übergeben, da ich ja auch mit dieser das Ajax Request abgesendet habe... Naja, hier liegt nun mein Problem... Ich hoffe man konnte das eher verstehen? Ich versuche mich halt damit zu beschäftigen um auch damit besser umgehen zu können und auch diese in meine MVC sinnvoll und auch Wichtig: RICHTIG einzusetzen... |
| | |
| | #12 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Falls Du Firebug hast, könntest Du gucken was genau im Response steht. Aber ich tippe mal auf json_encode(), lass das ganze einfach mal weg und gib denn String nur mit dem echo aus. json_encode hat nämlich ein Problem mit Sonderzeichen. Um auf den Response zugreifen zu können gibt es zwei Möglichkeiten, einmal mit responseText und einmal mit responseXml. Du selbst benutzt ja die responseText, was in Deinem fall absolut korrekt ist. Sollte das nichts bringen, so müsstest das ganze wirklich mit Firebug debuggen. Ach ja, ich würde auf jedenfall erst ab dem 3. oder 4. Zeichen einen Request abschicken und wenn eine bestimmte Zeit zwischen zwei keydown-Events verstrichen ist. Somit wird nicht so viel Last und Traffic erzeugt.
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #13 (permalink) |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | Danke für Deine Unterstützung. Habe gerade die Ausgabe auf den Browser bekommen, mit der Ausnahme das der Tag so dargestellt wird --> ?td/> Somit sollte das eine Problem gelöst sein... Danke... Hättest Du bei dem Umlaut noch Rat? |
| | |
| | #14 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Jage mal die Daten durch die utf8_encode-Function bevor Du Sie an den Browser zur Ausgabe schickst. Deine Seite muss dann natürlich als UTF-8 ausgeliefert werden. Schickst Du die Daten jetzt mit echo oder noch mit json_encode an den Browser?
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #15 (permalink) | |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | ich sende die Daten wie du vorgeschlagen hast: PHP-Code: Zitat:
Ooops... ein wenig peinlich ... | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |