C
coolvirus
I'm using the XMLHTTPRequest JavaScript object to fetch updated info
from the server.
The problem I'm having occurs on Windows 2000/IE 6. There is a very
long pause on readyState 3 (close to a minute, maybe more) but it
eventually gets to readyState 4. I have no idea why. The page works
just fine on Windows XP/IE 6.
There is no delay or hang up on the server side as far as I can tell
(if we get to readyState 3 is because the server already sent its
response).
Does anyone know what takes place between readyState 3 and 4 and why
does this happen on Windows 2000 but not on Windows XP?
Any input will be greatly appreciated.
Here's the code for illustration purposes.
var xmlobj=null;
var data=new Array();
function sendRequest(doc)
{
// check for existing requests
if( xmlobj != null && xmlobj.readyState != 0 && xmlobj.readyState !=
4 )
{
xmlobj.abort();
}
xmlobj = createXMLHttpRequest(); //my own library function to create
object
xmlobj.onreadystatechange=stateChecker;
xmlobj.open('GET',doc,true);
xmlobj.setRequestHeader("Cache-Control", "no-cache");
xmlobj.setRequestHeader("If-Modified-Since", "Wed, 31 Dec 1980
00:00:00 GMT");
xmlobj.setRequestHeader("Expires", "Wed, 31 Dec 1980 00:00:00 GMT");
xmlobj.setRequestHeader("Connection", "close");
xmlobj.send(null);
}
function stateChecker()
{
alert( "stateChecker: xmlobj.readyState = " + xmlobj.readyState );
if( typeof(xmlobj) != "undefined" && xmlobj != null &&
xmlobj.readyState == 4 )
{
if(xmlobj.status == 200)
{
data=xmlobj.responseText.split('\n');
displayData();
}
else if( xmlobj.status != 0 )
{
alert("Failed to get response: "+ xmlobj.status + " - " +
xmlobj.statusText);
}
}
}
function displayData()
{
//Dynamically re-draw page here.
}
from the server.
The problem I'm having occurs on Windows 2000/IE 6. There is a very
long pause on readyState 3 (close to a minute, maybe more) but it
eventually gets to readyState 4. I have no idea why. The page works
just fine on Windows XP/IE 6.
There is no delay or hang up on the server side as far as I can tell
(if we get to readyState 3 is because the server already sent its
response).
Does anyone know what takes place between readyState 3 and 4 and why
does this happen on Windows 2000 but not on Windows XP?
Any input will be greatly appreciated.
Here's the code for illustration purposes.
var xmlobj=null;
var data=new Array();
function sendRequest(doc)
{
// check for existing requests
if( xmlobj != null && xmlobj.readyState != 0 && xmlobj.readyState !=
4 )
{
xmlobj.abort();
}
xmlobj = createXMLHttpRequest(); //my own library function to create
object
xmlobj.onreadystatechange=stateChecker;
xmlobj.open('GET',doc,true);
xmlobj.setRequestHeader("Cache-Control", "no-cache");
xmlobj.setRequestHeader("If-Modified-Since", "Wed, 31 Dec 1980
00:00:00 GMT");
xmlobj.setRequestHeader("Expires", "Wed, 31 Dec 1980 00:00:00 GMT");
xmlobj.setRequestHeader("Connection", "close");
xmlobj.send(null);
}
function stateChecker()
{
alert( "stateChecker: xmlobj.readyState = " + xmlobj.readyState );
if( typeof(xmlobj) != "undefined" && xmlobj != null &&
xmlobj.readyState == 4 )
{
if(xmlobj.status == 200)
{
data=xmlobj.responseText.split('\n');
displayData();
}
else if( xmlobj.status != 0 )
{
alert("Failed to get response: "+ xmlobj.status + " - " +
xmlobj.statusText);
}
}
}
function displayData()
{
//Dynamically re-draw page here.
}