Funktion merhmals aufrufen.
Ralf W.
- javascript
Ich habe mir ein AJAX-Skript geschrieben, welches von meinder Domain (von einem PHP-File) Infos beziehen soll. Das klappt auch wunderbar. Nur wenn ich mehrere Infos bezhiehen will, zeigt es immer nur letzteres an - es überschreibt wie die erste Aufforderung.
Kann man das irgendwie ändern?
Der Code;
var http_request = false;
function getInfo(getid, getvar, what) {
if(what == 'IP'){
data = '<?=$_SERVER['REMOTE_ADDR']?>';
}else if(what == 'UA'){
data = '<?=$_SERVER['HTTP_USER_AGENT']?>';
}
http_request = false;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Skript-Error! XMLHTTP-Instanz-Generierung scheint unmoeglich.');
return false;
}
http_request.onreadystatechange = function() {
changeInhalt(getid);
};
http_request.open('GET', 'http://meinedomain.de/ip.php?'+getvar+'='+data, true);
http_request.send(data);
}
function changeInhalt(getid) {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
element = document.getElementById(getid);
element.innerHTML = http_request.responseText;
} else {
alert('Es ist ein Problem aufgetreten.');
}
}
}
Der Aufruf; (Hier wird nur das zweite Angezeigt)
<script type="text/javascript">
getInfo('showIPland', 'ip', 'IP');
getInfo('browser', 'browser', 'UA');
</script>
<span id="showIPland">laden...</span>
<span id="browser">laden...</span>
hi,
Ich habe mir ein AJAX-Skript geschrieben, welches von meinder Domain (von einem PHP-File) Infos beziehen soll. Das klappt auch wunderbar. Nur wenn ich mehrere Infos bezhiehen will, zeigt es immer nur letzteres an - es überschreibt wie die erste Aufforderung.
Kann man das irgendwie ändern?
Klar. Mach Dir Gedanken, wie eine responseText aussehen könnte, die _mehrere_ Informationen enthält. Neben 'Text' gibt es noch XML und JSON.
Für die meisten meiner Ajax-Geschichten nehme ich nur Textstrings mit Trennzeichen und verwurste die mit split für Listen oder inputfelder...
Hotte
Hi,
> var http_request = false;
diese *eine* Variable hast Du vorgesehen, um exakt so viele AJAX-Requests zu handhaben. Und bevor Du jetzt den Fehler begehst, eine zweite Variable anzulegen: Beschäftige Dich mit Objektorientierung.
Cheatah