ChrisB: Ajax Request wird an die Adressleiste gehängt

Beitrag lesen

Hi,

komischerweise wird alles in die ADressleiste weitergegeben obwohl ich auf POST gestellt habe.

AJAX sieht du nie in der Adressleiste, egal welche Request-Methode benutzt wird.

Deine Problembeschreibung lässt vermuten, dass du AJAX als Alternative zum Abschicken eines normalen Formulars einsetzt - und weil dein JavaScript fehlerhaft ist, wird es abgebrochen, und deshalb das Formular ganz normal abgeschickt. Und wenn das als Methode GET hat - dann siehst du die Formulardaten tatsächlich in der Adresszeile.

Darüber hinaus scheinst du noch Probleme damit zu haben zu verstehen, wie ein asynchroner Request abläuft.

req.onreadystatechange = function(){
switch(req.readyState) {
case 4:
if(req.status!=200) {
return false;
}else{
return false;
}
break;
default:
return false;
break;
}
};
req.send("name="+name+"&emails="+emails+"&url="+url);
alert("Erfolgreich eingeladen!");

Da du den Request asynchron machst, geht es direkt nach dem Aufruf von send mit dem alert weiter, egal ob der Request erfolgreich war oder nicht.
Und die return-Werte, die du aus der onreadystatechange-Funktion heraus zurückgibst, die verpuffen im Nichts.

Wobei, wenn ich mir das ansehe, dann muss dein Script gar nicht mal unbedingt fehlerhaft sein (s.o.) - sondern das Formular wird auch dann abgeschickt, wenn es fehlerfrei läuft. Den nur Millisekunden zuvor abgesetzten AJAX-Request wird dieser neue Request dann überschreiben.

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.