mootools bzw. generelles ajax-verständnis-problem

ich hab frisch mit ajax begonnen und mir dazu gleich n framework zugelegt.
komm auch einigermaßen damit zurecht nur hab ich noch ein generelles verständnis-problem, dass mir leider noch kein tutorial/doc/google erklären konnte:

ich hab ein schon existierendes script von mir so umgebaut, dass ich mich über eine XMLHttpRequest-abfrage einloggen möchte.
d.h. ich hab

[code]
window.addEvent(‚domready‘, function(){

// Login-Check
$('loginform').addEvent('submit', function(event) {
    event.stop();

[/code]etc.
das funzt soweit auch wunderbar. aber wie geh ich jetzt mit der antwort richtig um? ich weiß inzwischen, dass man z.b. durch xml, json oder einfach text realisieren kann - nur wie??

mit

onComplete: function(response) {wird ja festgestellt, dass ne antwort geschickt wurde, die ich dann zur weiteren verarbeitung benutzen möchte
(z.b. könnte die antwort sein „falscher benutzername!“ und das soll dann in einem div angezeigt werden.
aber es kommt ja der komplette geparste html-code zurück, das ist doch eigentlich nich sinn an ajax?

wie muss ich dann nun mein script anpassen, damit ich wirklich nur die antwort und nich die komplette website erhalte?

vielleicht hab ich generell das prinzip nicht ganz durchblickt, aber ich finde leider nirgends eine anleitung, die mir diesen punkt anschaulich beschreibt
(alles andere ist super dokumentiert, wie XMLHttpRequest-objekt erstellt wird usw. aber am ende fehlt immer was, hab ich das gefühl.

hab auch schon probiert, dass ohne framework zu verstehen, aber daran liegts nicht. mir fehlt einfach nur das problem, dass ich halt nicht verstehe, an welcher stelle im script ich jetzt noch eingreifen muss, glaube ich.

danke schonmal für aufklärung :slight_smile:

Du musst die Antwort nur verarbeiten. Was dort zurück kommt, ist vom Prinzip her egal, denn das kann Text, JSON, XML, HTML oder eine einfache Zahl (für den Status der Anmeldung) sein. Das kannst du allein entscheiden.

Wie crash ja schon richtig angedeutet hast musst du den Response einfach nur abfangen und verarbeiten.

Mit Mootools geht das ja auch zum Glück noch recht Fix wie du weißt
[php]
new Request({
method:‚post‘,
data:‚username=babba‘,
url:‚script.php‘,
onRequest: function() {
// Mach was beim Starten des Requests
},
onFailure: function() {
// mach was bei Fehlern
},
onSuccess: function(responseText) {
// Request ist fertig, mach nun etwas
}
}).send();
[/php]Auszug aus den Docs: MooTools Docs - Request/Request

Der responseText enthält nun die komplette Ausgabe des PHP-Scriptes!
Gibst du im PHP Script via echo ‚Login war erfolgreich‘ aus, so wird dies im responseText auch so ausgegeben.
Am meisten genutzt wird (Allerdings eher bei größeren und komplexeren Datenmengen …) JSON zur Übergabe von Daten.
Mootools bietet dafür JSON.decode(responseText) an, und PHP kann von Haus aus mit json_encode/decode Arrays zu JSON und umgekehrt verarbeiten.

danke, das hat mich vorwärts gebracht :slight_smile:

das hab ich tatsächlich nicht in den docs gefunden (schande über mein haupt :frowning: )