aJax

viggi

Grünschnabel
hi erstmal bin neu hier.
und komme gleich mit einen Problem zu euch und zwar weis ich nicht was daran falsch sein soll
function doRequest(url,mail)
{
if (XMLHttpRequestObject)
{
XMLHttpRequestObject.open("POST", url,true);
XMLHttpRequestObject.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
XMLHttpRequestObject.onreadystatechange = myHandler;
XMLHttpRequestObject.send("mail="+mail);
}

}

ich ruf die funktion <input onkeyup="doRequest('abfrage.php',document.Testform.suchen.value)" type="Text" name="suchen" size="12" > auf und ver spaeter mit $_Post['mail'] frauf zuzugreifen aber es geht nicht.
Hoffe ihr koennt mir helfen.
Mit freundlichen Gruß
viggi
 
Zuletzt bearbeitet:
Für AJAX brauchst du ein eigenes HTTP-Objekt. Außerdem musst du zu Beginn überprüfen, ob der Benutzer mit einem Internet Explorer oder mit einem anderen Browser auf deine Seite zugreift - denn du brauchst je nach IE oder not IE ein anderes Objekt.

Code:
var http = null; 
if (window.XMLHttpRequest) //Überprüfung, ob IE oder nicht
	http = new XMLHttpRequest();
else
{
	if (window.ActiveXObject)
		http = new ActiveXObject("Microsoft.XMLHTTP");
}

Nun zu deiner Funktion, die du aufrufen möchtest. Diese musst du wie folgt schreiben:

Code:
function doRequest(url, mail)
{
	if (http != null)
	{
		http.open("POST", url, true);
		http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		XMLHttpRequestObject.onreadystatechange = myHandler;
		XMLHttpRequestObject.send("mail="+mail);
	}
}

Die Funktion myHandler, die du bei onreadystatechange angegeben hast, musst du auch noch schreiben. Diese wird jedes mal aufgerufen, wenn der Zustand des HTTP-Objekt sich verändert. Folgende Zustände, die die AJAX-Verbindung beschreiben, sind möglich:

0 – nicht initialisiert
1 – lädt
2 – fertig geladen
3 – wartet
4 – fertig

Code:
function myHandler ()
{
	if (http.readyState == 4) //globales HTTP-Objekt
	{
		alert (http.responseText);
	}
}

Im responseText wird all das ausgegeben, das du im PHP-Script mit echo ausgiebst. Wenn du Daten in JavaScript weiterverarbeiten möchtest, empfehle ich dir die JSON-Übergabe - Link: http://www.galileocomputing.de/openbook/javascript_ajax/18_ajax_002.htm

Ich hoffe, ich konnte dir mit meinen Ausführungen weiterhelfen. Sollte es nicht klappen, meld' dich ganz einfach noch einmal :) ...

MfG, Thomas D.

BTW: Verwende das nächste mal, wenn du Code postest am besten die Code-Tags: (code) ... (/code). Dabei musst du nur mehr die runden Klammern mit eckigen ersetzen und schon funktioniert's :) ...
 

Neue Beiträge

Zurück