Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

AJAX geht net





Frage

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 1 von rfb

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

jo habe ich aber trotzdem geht es nicht aber wieso ?

mfg
Fassy91

Antwort 3 von ClemBra

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

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

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

@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

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 8 von rfb

hoppla, nehme alles zu open() zurück, behaupte nunmehr der Code sei extrem unübersichtlich, empfehle folgende Lektüre: Galileo Computing: JavaScript und AJAX

Antwort 9 von Supermax

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

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

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

... und ein "a" zuviel *duckundweg*

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: