mmofacts.com

Ajax (Aufruf einer php Datei)

gepostet vor 18 Jahre, 1 Monat von pHoEnIx-sTyLe
Hi,
hab de ne kurze Frage zu Ajax. Ich würde gern durch Javascript und Ajax ne Php Seite aufrufen. In der Php Datei soll einfach nur ein Eintrag in die Datenbank hinzugefügt werden. Jedoch hab ichs bisher nicht auf die Reihe gekriegt. Bin da eher noch noob in Ajax ^^. Hab dann mal gegoogled und versucht über folgendes beispiel das ganze zu versuchen. Jedoch führt er die Php Datei nicht aus.

var http_request = false;
function macheRequest(url) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
// zu dieser Zeile siehe weiter unten
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Ende Kann keine XMLHTTP-Instanz erzeugen');
return false;
}
http_request.onreadystatechange = alertInhalt;
http_request.open('GET', url, true);
http_request.send(null);
}
function alertInhalt() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
alert(http_request.responseText);
} else {
alert('Bei dem Request ist ein Problem aufgetreten.');
}
}
}
style="cursor: pointer; text-decoration: underline"
onclick="macheRequest('test.html')">Einen Request absetzen
Weiss jmd rat?
gepostet vor 18 Jahre, 1 Monat von progs
Wird die Datei komplett nicht ausgeführt oder nur fehlerhaft ausgeführt?
Die PHP-Datei wird als komplett eigenständig behandelt. Du musst dort sämltiche DB-Verbindungen, etc. nochmal aufbauen.
gepostet vor 18 Jahre, 1 Monat von pHoEnIx-sTyLe
die verbindung wird in der datei aufgebaut. datei wurde vorher getestet bevor diese verlinkt wurde. die ganze datei wird nicht ausgeführt.
gepostet vor 18 Jahre, 1 Monat von planetenkiller
Am besten Installierst du beim Firefox die Erweiterung FireBug, der kann XMLHttpRequest's abhören. Dann sieht du was da passiert.
gepostet vor 18 Jahre, 1 Monat von pHoEnIx-sTyLe
das mit den span geht. wenn ich das ganze mit ner html datei teste klappt es. aber bei ner php datei nicht.
gepostet vor 18 Jahre, 1 Monat von planetenkiller
hmm das ist komisch, ich habe dein code mal getestet. Der request wird gesendet, eine antwort bekomme ich auch, aber in der antwort hat es immer ein syntaxfehler.
sonnst probiere doch mal eine klasse/schnipet:
tripdown.de/flexible_ajax_intro.php
xajaxproject.org/ <-- setze ich auch ein, kann ich nur entpfehlen.
gepostet vor 18 Jahre, 1 Monat von pHoEnIx-sTyLe
das mit dem syntax fehler liegt dann an deiner ausgabe datei.
thx. aber dadurch ist mein problem immer noch nich gelöst
gepostet vor 18 Jahre, 1 Monat von planetenkiller
kann man das nicht irgendwo online anschauen?
das wäre irgend wie hilfreicher. Denn bei mir hat der request ja geklapt, die antwort ist beim javascipt angekommen.
gepostet vor 18 Jahre, 1 Monat von pHoEnIx-sTyLe
ich google schon seit heut mittag. bisher nix in die richtung gefunden. deswegen hab ich gehofft hier hilfe zu finden.
gepostet vor 18 Jahre, 1 Monat von Toby
Also bei mir funktioniert dein geposteter Code ebenfalls, wobei ich auch einen Syntaxfehler bekomme (die PHP-Datei macht nur einen einzigen echo).
Von daher, mal ganz simpel: Deine PHP-Datei ist im gleichen Pfad (bzw. in einem zugänglichen), hat passende Rechte gesetzt usw? Du rufst sie auch richtig auf? usw. usf.
Installier dir echt mal Firebug, das hilft ungemein!
gepostet vor 18 Jahre, 1 Monat von pHoEnIx-sTyLe
ah jetzt hab ich das problem. Im IE geht das ganze nicht. und ich teste das ganze derzeit im IE.
Ok das lag am Cache vom IE. so en mist. hätt ich dran denken können
gepostet vor 18 Jahre, 1 Monat von knalli
Original von pHoEnIx-sTyLe
ah jetzt hab ich das problem. Im IE geht das ganze nicht. und ich teste das ganze derzeit im IE.
Ok das lag am Cache vom IE. so en mist. hätt ich dran denken können

Joa, du musst das aufpassen. Tipp: Prototype bietet eine gute Schnittstelle für 2-3 Ajaxmethoden.
Das sieht dann so aus: Ajax.Request(...)
gepostet vor 18 Jahre, 1 Monat von pHoEnIx-sTyLe
ok thx. Jetzt hätt ich noch ne frage:
Wenn ich in der von ajax aufgerufenen php datei ner variable nen wert zuweise, wie krieg ich den wert zurück auf die Seite von der der request gemacht wurde?
gepostet vor 18 Jahre, 1 Monat von progs
beim neuladen bzw. beim erneuten Aufruf einer AJAX-Seite entweder durch Cookies oder Sessions. Mehr Möglichkeiten wirst Du nicht haben.
gepostet vor 18 Jahre, 1 Monat von knalli
Original von pHoEnIx-sTyLe
ok thx. Jetzt hätt ich noch ne frage:
Wenn ich in der von ajax aufgerufenen php datei ner variable nen wert zuweise, wie krieg ich den wert zurück auf die Seite von der der request gemacht wurde?

Als Ausgabe XML, JSON bzw Javascript "machen", und den kann die ausführende Seite dann weiter verwenden.
Also: Script A: var irgendwas = Ajax.Request(.. Script B ...)
Oder so ähnlich, ist schon was her, das ich da was mit gemacht habe.
gepostet vor 18 Jahre, 1 Monat von Klaus
new Ajax.Request('file.php', { onComplete: eineFunktion... weitere Parameter oder Callbacks... };
function eineFunktion (r)
{ eval('var jsonAntwort = '+r.requestText); }

Ein einfaches Beispiel. Die Antwort der PHP-Datei musst du dannn natürlich mit JSON formatieren.

Auf diese Diskussion antworten