Ajax Problem
Felix Maurer
- javascript
0 Felix Maurer0 steckl
Hi zusammen!
Ich arbeite grad an einem Chat der mit Ajax arbeitet.
Im prinzip ist alles schon fertig, nur hier und da müsste man etwas ausbessern (vorallem das design). Bis jetzt hab ich ihn immer nur auf dem Server den ich auf mein PC installiert hab ausprobiert und da lief auch alles ganz toll.
Jetzt hab ich ihn auf meinen richtigen server verschoben und da kann ich mich nurnoch im chat anmelden, aber wenn ich einen nachricht schicke bekomme ich einen fehler in der Javascript konsole.
Fehler: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]
Quelldatei: http://web17.h619267.serverkompetenz.net/AjaxChat/js/ajax.lib.js
Zeile: 7
Hat jemand von euch eine Idee was das fürn porblem is?
Ich hab schon bissle gegoogelt und was zu diesen fehlercodes gefunden aber nix was mir geholfen hat.
http://web17.h619267.serverkompetenz.net/AjaxChat/chat.html
Hier könnt ihrs euch auch mal anschaun.
MfG
Felix
So, jetzt hat sichs verschlechtert. Jetzt funktioniert selbst auf meinem lokalen Server nich mehr. Es muss also doch irgendwie am Syntax liegen.
Hi,
So, jetzt hat sichs verschlechtert. Jetzt funktioniert selbst auf meinem lokalen Server nich mehr. Es muss also doch irgendwie am Syntax liegen.
Hast du dir mal die anderen Fehlermeldungen angeschaut? da steht u.a. "handleRequest is not defined in line 60".
Ich weiss nicht, ob du die Funktion so aufrufen kannst.
Versuchs mal so:
http_req.onreadystatechange = handleRequest;
die parameter (http_req, type, parms) musst du dann durch globale Variablen ersetzen.
Ich habe es aber net ausprobiert.
mfG,
steckl
Das mit dem handleRequest is mir auch scon aufgefallen, ich weis nich woran das liegt, das war aber auch schon vorher da, wo der andere Fehler noch nicht aufgetreten ist und es hat alles einwandfrei funkioniert.
Das mit den Globalen Variablen hab ich probiert, hat aber auch nicht funktioniert. Außerdem könnte es doch dann ein problem geben wenn ein zweiter Request geendet wird bevor der erste beantwortet ist.
Die Javascriptdateien könnt ihr ja alle anschauen, aber das serverseitige phpscript nicht, soll ich davon mal was posten?
So ich hab jetzt rausgefunden das er die seite einfach neu läd wenn der fehler auftritt.
Dann hab ich auf ner seite den tipp gefunden mit try catch das versuchen abzufangen:
function handleRequest(http_req, type, parms) {
if (http_req.readyState == 4) {
try { var state=http_req.status;} catch(e) { alert(e); };
if (http_req.status == 200) {
switch (type) {
case "chst":
hres_changestatus(http_req.responseXML, parms[0]);
break;
case "pstmsg":
hres_postmessage(http_req.responseXML);
break;
case "gtlog":
hres_getchatlog(http_req.responseXML);
break;
case "gtclist":
hres_getcontactlist(http_req.responseXML);
break;
case "reg":
hres_register(http_req.responseXML);
break;
case "cname":
hres_changename(http_req.responseXML, parms[0]);
break;
default:
throw_err(12);
}
}
else {
throw_err(23);
}
}
}
funktioniert aber nicht. Es gibt einen fehler aber das was in den geschweiften klammern von catch steht wird nicht ausgeführt, wiso?
So, ich habe jetzt ein teil des Fehlers gelöst.
Dummer weise treten manche Fehler imme noch auf, aber nicht reproduzierbar. Ich werde einfach einen weg suchen wie ich mit den Fehlern leben kann. Fals jemand weiß warum diese Fehler auftreten, wäre ich ihm sehr dankbar wenn er es hier posten könnte.
MfG
Felix