| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Ajax im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Moin moin, ich habe ajax bisher immer ein wenig stiefmütterlich behandelt, und mir, wenn ich ehrlich bin nicht immer ...
![]() |
| | #1 (permalink) |
| Registriert seit: 30.03.07 ![]() Likes: 17 | Anzeige Moin moin, ich habe ajax bisher immer ein wenig stiefmütterlich behandelt, und mir, wenn ich ehrlich bin nicht immer so den kopf darum gemacht. Bisher habe ich die ajax funtion in meinem Layout mit integriert via dojo.xhrGet() mit den entsprechenden Parametern. Keine Token Abfrage, keine security Id usw. Da ich mit dem Zend Framework arbeite, und meine ViewHelper mir einiges abnehmen habe ich auf seitens des Frameworks nicht soviel zu tun. Prinzipielle Abfrage: -bist du ajax, -ja/nein -mache das, oder dieses Da die Controllers, sowie deren Action mit in das Rolle, Rechte System integriert sind, sollte ein unerlaubter Aufruf von aussen "nicht" möglich sein. ( "nicht" mit doppelten Anführungszeichen ) Mich würde mal interessieren, wie Ihr Ajax in euer System MVC/Hompage oder ähnlichen integriert? Wo packt Ihr welche Function wie rein? Wie sehen die entsprechenden Funtionen bei Euch aus? Sollte ich die Ajax funktionalität global in minem system zur Verfügung stellen, oder nur den Seiten bereitstellen, die ajax auch wirklich nutzen ? Ich weis Fragen über Fragen !!! Sry ... ![]() Im Web gibt es viele Tutorials, jedoch immer absolute Basics. Zumindestens habe ich nocht nichts besseres gefunden ... Merci so far |
| | |
| | #2 (permalink) | ||||||
| Registriert seit: 07.05.07 ![]() Likes: 19 | Grundsätzlich möchte ich sagen, dass AJAX meines Erachtens sowieso ständig missverstanden wird. Anstatt hier von ach-so-tollen Akronymen zu reden, sollten wir AJAX als ganz normaler Request eines Browsers an einen Server betrachten. (Was es übrigens auch ist) Unterschied? Es wird ein zusätzlicher Header mitgesendet. Code: HTTP_X_REQUESTED_WITH Zitat:
Zitat:
Zitat:
Serverseitig (am Beispiel mit dem Framework FuelPHP) Code: <?php
// ...
public function action_getinfo()
{
// RFC4627
$this->response->set_header('Content-Type: application/json');
// get data from $_GET array (sanitized)
$id = Input::get('id');
// do something and set output
// $this->isvalid returns a boolean
$this->response->body = json_encode(array('success' => $this->isvalid($id));
}
//... Code: $(document).ready(function()
{
// add click handler
$('button#checkid').click(function()
{
// save button
me = $(this);
// url is routed by fuelphp
$.getJSON('controller/getinfo', { id: me.data('id') }, function(response)
{
if(response.success)
{
me.html('valid id');
}
else
{
me.html('invalid id');
}
});
});
}); Code: <!DOCTYPE html>
<html>
<body>
<button id="checkid" data-id="11" value="click me!" />
</body>
</html> Zitat:
) Zitat:
![]() Zitat:
Abschliessend kann ich wohl sagen: Mach dir keinen Stress um AJAX. Verwende es, wenn du es brauchst und sonst eben nicht. Aber wenn du es verwendest, dann natürlich immer im Kontext deines serverseitigen Frameworks.
__________________ Geändert von she3p (10.11.11 um 13:10 Uhr) | ||||||
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) | |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | Moin moin, danke für die verständliche Antwort. Zitat:
Lediglich nur das Zen_Form_Element_Hash, welches ich auch einsetze. Aber nach Deinen Beschreibungen setze ich es dann doch schon entsprechend ein nur halt mit Dojo... thx | |
| | |
| | #4 (permalink) | |
| Registriert seit: 07.05.07 ![]() Likes: 19 | np. Btw: Hier wird das Prinzip des Zen_Form_Element_Hash folgendermassen erklärt: Zitat:
__________________ | |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | Genau, ist auch so verstanden und wird auch so genutzt. Deswegen will ich auch nach dem Prinzip einen Javascript Token anlegen... 1. Die form wird normal aufgerufen - Zend_Form_Element_Hash erzeugt alles selber (sprich key, ablage in session und soweiter) 2. Parallel hierzu einen separaten key erzeugen und ebenfalls in die session ablegen. Den selbigen Key in eine variable z.B. var security_token in die view schreiben und mit rendern. 3. wenn ein ajaxrequest abgefeuert und in der action als isXmlHttpRequest() erkannt wird, den security_token auslesen und gegen den abgelegten key in der session prüfen. Nur wenn dieser stimmt wird der rest abgearbeitet, sonst nicht. Oder macht das ganze keinen Sinn? |
| | |
| | #6 (permalink) |
| Registriert seit: 07.05.07 ![]() Likes: 19 | Hmm geht so =P Wofür brauchst du Clientseitig einen im JavaScript verfügbaren Security Token? Stell dir vor, du renderst ganz normal deine Form, schickst alle Formdaten per AJAX ab (auf ein Forumlar bezogen) und hast somit natürlich ebenfalls einen Security Token abgeschickt (sofern zur Form hinzugefügt). Wenn ich dich richtig verstehe wäre die Antwort auf deine Frage am besten mit einem kurzen Codeschnipsel zu erklären: Code: $(document).ready(function()
{
$('form').submit(function()
{
var form = $(this);
$.ajax(
{
type: 'POST',
url: 'controller/method',
// statt hier alle daten separat zusammenzusammeln einfach alle
// formdaten mitschicken, folglich auch dein Zend_Form_Element_Hash
data: form.serialize(),
});
});
}); Also als Vorschlag: Zend_Form dahingehend erweitern, als dass vor dem rendern immer ein Zend_Form_Element_Hash hinzugefügt wird und du brauchst dich um nichts mehr zu kümmern.
__________________ |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 30.03.07 ![]() Likes: 17 | Ok. jetzt jetzt bin ich bei Dir... Du denkst ich will immer die komplette form via ajax absetzten und dann gegen einen selbstdefinierten security_token prüfen. Dann habe ich mich wohl im Verlauf unverständlich ausgedrückt. Am Beispiel Captcha: Wie üblich hat man ein captcha image welches schwer zu lesen ist. Also klicke ich auf "Grafik neu laden" und ein Ajax reqeust wird abgesetzt, was mir das image neu liefert. Um hier zu gewährleisten das die Anfrage auch von dem Besitzer der Session ist, wollte ich hier mit einem security_token javascriptseitig arbeiten ... Kam das jetzt verständlicher rüber? |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| dojo & ajax | ByteSurfer | (Web-) Design und webbasierte Sprachen | 0 | 05.04.11 13:41 |
| Ajax Seitenteile aktualisieren | selig | (Web-) Design und webbasierte Sprachen | 6 | 02.03.11 17:52 |
| Ajax in einer TemplateEngine | ByteSurfer | Webmaster-Security | 18 | 20.04.10 20:30 |
| Ajax - Gästebuch | Mani | (Web-) Design und webbasierte Sprachen | 2 | 22.01.10 16:12 |
| Ajax Anfrage an dem Server | nisel | Code Kitchen | 0 | 22.12.06 17:18 |