Ich habe ein kleines Ajax Problem. Mit einem Java Script werden auf einer Forenseite in einer Schleife alle Userid's eines Browsergames ausgelesen und per Ajax weiterverarbeitet. Ist das nur eine Userid, funktioniert das auch recht gut. Sind es aber mehrere, so werden die http Requests zwar von der Schleife abgesetzt (im Firebug gut zusehen) aber nur das letzte funktioniert bzw. erhalte ich nur vom letzten eine Antwort im Form der xml Datei zurück.
Wieso??
Hier das Java Script:
Code: Alles auswählen
var http_request = false;
function createRequestObject() {
var reqobj;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer") {
reqobj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
reqobj = new XMLHttpRequest();
}
return reqobj;
}
var http_request = createRequestObject();
function sendRequest(UserID) {
http_request.open('get', './includes/scripts/ajax.php?userid='+UserID);
http_request.onreadystatechange = handleResponse;
http_request.send(null);
}
function handleResponse() {
if(http_request.readyState == 4 && http_request.status == 200) {
var xmlDoc = http_request.responseXML;
var UserID = xmlDoc.getElementsByTagName('id')[0].firstChild.nodeValue;
if(document.getElementById('pname_'+UserID))
document.getElementById('pname_'+UserID).innerHTML = xmlDoc.getElementsByTagName('name')[0].firstChild.nodeValue;
}
}
function get_data(UserID) {
sendRequest(UserID);
}
Code: Alles auswählen
<?php
$userid = $_GET['userid'];
header('Content-Type: text/xml; charset=utf-8');
echo file_get_contents('http://www.url.com/user.' . $userid . '.xml');
?>

Da ich ja keine entfernten xml Datein mit java Script auslesen kann. (oder?)
Die schleife am Ende der Seite ruft dann einfach nur jedes Mal wenn eine UserID erkannt wurde die funktion get_data(UserID) auf.
Ich hoffe es kann jemand helfen.
Danke und Grüße
Markus