J
jeff.maildump
Hi,
I've got multiple xmlhttprequests which are in a loop. So this is the
loop I have so far, with the closure given to me in a previous post:
//-------------------------------------------------------------------------------------
for (i=0; i<data.length; i++) {
httpRequest = false;
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function(index) {
return function () {
if (httpRequest[index].readyState == 4) {
if (httpRequest[index].status == 200) {
var stats = getStats(httpRequest[index].responseText,
data[index]);
updateStats(statsTable.rows[index], stats);
}
}
};
}(i);
httpRequest.open('GET', URL, true);
httpRequest.send(null);
}
//-------------------------------------------------------------------------------------
So basically, the getStats method parses the response to get the info
I need for that particular request and then updates the html of the
current page accordingly. This works fine for 1, 2, or 3 data
requests. But if I have more, some of the httprequests get lost and
not all parts of my page are updated. But, if I throw in an alert in
each loop, all page data or at least more of them are updated, once
per time after each loop. It's like the alerts slow the loop down and
allow the requests and updates to catch up to the loop processing.
So, I'm not sure what's happening when the alerts aren't there. Are
some of the requests getting clobbered somehow? Are the httprequests
fine, and maybe the original document can only be updated once at a
time?
I've got multiple xmlhttprequests which are in a loop. So this is the
loop I have so far, with the closure given to me in a previous post:
//-------------------------------------------------------------------------------------
for (i=0; i<data.length; i++) {
httpRequest = false;
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function(index) {
return function () {
if (httpRequest[index].readyState == 4) {
if (httpRequest[index].status == 200) {
var stats = getStats(httpRequest[index].responseText,
data[index]);
updateStats(statsTable.rows[index], stats);
}
}
};
}(i);
httpRequest.open('GET', URL, true);
httpRequest.send(null);
}
//-------------------------------------------------------------------------------------
So basically, the getStats method parses the response to get the info
I need for that particular request and then updates the html of the
current page accordingly. This works fine for 1, 2, or 3 data
requests. But if I have more, some of the httprequests get lost and
not all parts of my page are updated. But, if I throw in an alert in
each loop, all page data or at least more of them are updated, once
per time after each loop. It's like the alerts slow the loop down and
allow the requests and updates to catch up to the loop processing.
So, I'm not sure what's happening when the alerts aren't there. Are
some of the requests getting clobbered somehow? Are the httprequests
fine, and maybe the original document can only be updated once at a
time?