Ajax Problem
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
absolute pfade
aktualisieren
auszug
code
container
datei
eigentliche uhr
funktion
http
instanz
kleines problem
liegen
relative pfade
relative url
schauen
starten
uhr
url
verboten daten
zugriff
-
Hi ich hab ein kleines Problem.
Ich hab ein Ajax Script geschrieben, dieses liest Daten aus einer anderen Datei auf meinem Webspace. Allerdings erhalte ich immer die Fehlermeldung, dass der Zugriff auf die andere Datei verweigert wurde. Ist es auf Lima-City verboten Daten aus einer anderen Datei zu lesen? Weil bei mir auf dem Rechner funktioniert das Script.
Hier ein auszug aus dem Script:
http.open("POST", "http://snoo3.lima-city.de/uhr.php", true); http.onreadystatechange=function() { if(http.readyState == 4) { document.getElementById("uhr").innerHTML=http.responseText; }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Same origin policy verletzt? https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript
-
Glaub nicht, hab beide Scripts selber erstellt, sie liegen im selben Ordner und funktioniert auch nicht wenn ich nur die relative url angebe.
Edit: Du hast wahrscheinlich doch Recht! Im IE funktionierts nämlich. Mal schauen wo der Fehler liegen könnte.
Beitrag zuletzt geändert: 6.7.2009 23:05:26 von snoo3 -
lösch mal das
http://snoo3.lima-city.de/
raus... meistens scheitert's daran, dass man absolute Pfade nimmt... nimm am besten immer relative Pfade, dann sollte es gehen.
Prüfe auch, ob eventuell der Div Container 2 mal oder gar nicht vorhanden ist.
Gruß
technofan -
Ok danke das hat nun funktioniert. Leider hab ich schon ein neues Problem und zwar funktioniert das aktualisieren im IE nicht Im FF funktioniert alles wunderbar.
<script type="text/javascript"> function Uhr () { var http = false; if (navigator.appName == "Microsoft Internet Explorer") { http = new ActiveXObject("Microsoft.XMLHTTP"); } else { http = new XMLHttpRequest(); } http.open("GET", "uhr.php", true); http.onreadystatechange=function() { if(http.readyState == 4) { document.getElementById("uhr").innerHTML=http.responseText; } } http.send(null); window.setTimeout("Uhr()", 1000); } </script>
-
du musst die Ajaxinstanz vor der Funktion starten und deine var http nach ganz oben setzen.
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlHttp = false;
}
}
so startest du dann die Ajaxinstanz für den IE
deins ist zwar auch möglich, ist aber nicht immer sehr zuverlässig.
nach der instanz kannste dann deine eigentliche uhr funktion starten -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage