AJAX geht net
hallo,
ich habe ein problem mit ajax und zwar habe ich mir eine ajax linkloading engine gebaut die bei anklicken eines links den inhalt einer php seite in einen layer (<div>) darstellt. Soweit die theorie. Die AJAX Enigne ist fertig und der Layer existiert aber wenn der link gedrückt wird kommt nix. Die PHP Datei wurde nochnichtmal aufgerufen.
Hier ein paar Codes:
AJAX Engine :
// JavaScript Document
function check()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
return xmlHttp;
}
function ajaxManager(layer,url)
{
alert(url);
alert(layer);
var conn = check();
conn.onreadystatechange=function()
{
if(conn.readyState==4)
{
alert(conn.responseText);
document.getElementById(layer).innerHtml=conn.responseText;
}
}
conn.open("GET",url,true);
conn.send(null);
}
Link text :
<a href=# onmouseup=ajaxManager('main','taskmanager.php')>Test</a>
Und die PHP datei die aufgerufen werden soll :
<?php
print("<font>Geht</font>");
?>
kp wieso aber ich kriege einen 404 Error wenn die ajax engine versucht die php file aufzurufen
Bitte um hilfe !!
mfg
Fassy91
Antwort schreiben
Antwort 1 von rfb vom 13.08.2019, 17:30 Options
Zum einen rufst du die PHP nie auf.
Zum anderen ist der HTML-Teil schlicht fehlerhaft, HTML-Attribute gehören in Anführungszeichen.
Antwort 2 von Fassy91 vom 13.08.2019, 20:05 Options
jo habe ich aber trotzdem geht es nicht aber wieso ?
mfg
Fassy91
Antwort 3 von ClemBra vom 13.08.2019, 21:02 Options
Poste mal den Code in entsprechenden Forum-Tags, mit Anführungszeichen und mit der Definition des Layers.
Nebenbei würde ich nicht onmouseup, sondern onmouseclick verwenden.
Gruß Clemens
Antwort 4 von Supermax vom 13.08.2019, 21:21 Options
wenn dann "onclick" und nicht "onmouseclick" ;)
Lass das Script doch mal in Firefox laufen, da gibts eine die "Fehler-Konsole", die einem JavaScript- und CSS-Fehler wunderbar anzeigt.
Antwort 5 von ClemBra vom 13.08.2019, 21:47 Options
von mir aus auch das ;-)
Aber gehen denn die Alert-Boxen über dem "var conn = check();"?
Wenn ja, schreibe darunter mal "alert(conn);" Da müsste "[Object]" oder etwas ähnliches erscheinen.
Gruß Clemens
Antwort 6 von rfb vom 14.08.2019, 00:22 Options
@ClemBra:
was ändert das? Fassy91 verwendet nirgendwo open(). Wenn die PHP-Datei nicht angefordert wird tut der Server natürlich auch nix.
@Fassy91:
Zitat:
jo habe ich aber trotzdem geht es nicht aber wieso ?
du hast was? "jo" wird hier nicht gebraucht sondern eine vernünftige Fehlerbeschreibung!
Antwort 7 von Supermax vom 14.08.2019, 07:40 Options
Zitat:
@ClemBra:
was ändert das? Fassy91 verwendet nirgendwo open(). Wenn die PHP-Datei nicht angefordert wird tut der Server natürlich auch nix.
Doch, da steht doch
conn.open("GET",url,true);conn.send(null);
.
Aber wie schon gesagt, die Seite mit dem AJAX-Script drin mal im Firefox aufrufen und die Fehlerkonsole beobachten, wenn das JS einen Fehler hat (es reicht ja schon ein kleiner Tippfehler wie ein vergessenes ; irgendwo), dann wird das hier zuverlässig angezeigt.
Ich verwende schon sehr lange den FF zum debuggen von meinen JS-Applikationen.
Antwort 9 von Supermax vom 14.08.2019, 09:54 Options
Ich denke der Fehler liegt daran, daß onreadystatechange vor dem open() gesetzt wird. Je nach Implementierung werden die event-handler durch open() unter Umständen wieder zurückgesetzt.
Antwort 10 von Fassy91 vom 14.08.2019, 14:42 Options
also der script geht jetzt *freu*. Aber ich kriege eine 404 Error Page in einem DIV ^^. Er versucht eine Datei zu finden bloss ich weiss nicht welche .
mfg
Fassy91
Antwort 11 von Fassy91 vom 14.08.2019, 14:49 Options
ok leute danke für euren support ich habe den fehler ich habe die dateien falsch benannt in der funktion wurde mit taskmanager.php rumprobiert aber die datei hiess : tasmanagaer.php das heisst ein k zuwenig!
mfg
Fassy91
Antwort 12 von ClemBra vom 14.08.2019, 19:15 Options
... und ein "a" zuviel *duckundweg*