By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
432,109 Members | 993 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 432,109 IT Pros & Developers. It's quick & easy.

XMLHttpRequest hangs on readyState 3

P: n/a
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.
}

Aug 11 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a

coolvirus wrote:
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);

}
}
else {
return false;
}
}
This should fix your problem, most likely.

Aug 12 '06 #2

P: n/a
James,

Thank you very much for the reply but it didn't work. Still hanging on
readyState 3.
James Black wrote:
coolvirus wrote:
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);

}
}

else {
return false;
}
}

This should fix your problem, most likely.
Aug 14 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.