I am using the XMLHttpRequest to send a request every 5ish seconds or so.
Everything works fine until I take the server down that the object is trying to retrieve data from.
Then the firefox console keeps racking up these:
If I turn the server back on, it continues to update it's data just fine. I know a simple solution is to just trap the exception, but I don't think I should have to. There should be something I can do to keep it from generating one in the first place.
Relevant code:
[code=javascript]
function createRequestOb ject()
{//creates an httprequest object
var ro;
var browser = navigator.appNa me;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject(" Microsoft.XMLHT TP");
}else{
ro = new XMLHttpRequest( );
}
return ro;
}
var http = createRequestOb ject();
var ourinterval=set Interval("SendU pdate()",5000);
function SendUpdate()
{
http.open('get' , '/refresh.cgi?tim e='+ new Date().getTime( ));
http.onreadysta techange = handleSendUpdat eReponse;
http.send(null) ;
}
function handleSendUpdat eReponse()
{
if(http.readySt ate == 4)
{
var update = new Array();
if (http.status==" 200")
{
var response = http.responseTe xt;
if (response!="")
{
if(response.ind exOf('|' != -1))
{
update=response .split('|');
if (update.length> 0)
{
if (update[1].indexOf("SUCCE SS")>-1)
{
var line=update[1];
var things=new Array();
things=line.spl it('&');
var i;
for (i=0;i<things.l ength;i++)
{
var nameval=things[i].split('=');
if (i>0)
{
returnObjById(n ameval[0]).innerHTML=nam eval[1];
}
}
}//end of found "SUCCESS"
}//end of update split("|") to have multiple sections
}//end of response.indexo f("|")
}//end of response!=""
}//end of status==200
}//end of readystate=4
}//end of function
[/code]
Everything works fine until I take the server down that the object is trying to retrieve data from.
Then the firefox console keeps racking up these:
Code:
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)"
Relevant code:
[code=javascript]
function createRequestOb ject()
{//creates an httprequest object
var ro;
var browser = navigator.appNa me;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject(" Microsoft.XMLHT TP");
}else{
ro = new XMLHttpRequest( );
}
return ro;
}
var http = createRequestOb ject();
var ourinterval=set Interval("SendU pdate()",5000);
function SendUpdate()
{
http.open('get' , '/refresh.cgi?tim e='+ new Date().getTime( ));
http.onreadysta techange = handleSendUpdat eReponse;
http.send(null) ;
}
function handleSendUpdat eReponse()
{
if(http.readySt ate == 4)
{
var update = new Array();
if (http.status==" 200")
{
var response = http.responseTe xt;
if (response!="")
{
if(response.ind exOf('|' != -1))
{
update=response .split('|');
if (update.length> 0)
{
if (update[1].indexOf("SUCCE SS")>-1)
{
var line=update[1];
var things=new Array();
things=line.spl it('&');
var i;
for (i=0;i<things.l ength;i++)
{
var nameval=things[i].split('=');
if (i>0)
{
returnObjById(n ameval[0]).innerHTML=nam eval[1];
}
}
}//end of found "SUCCESS"
}//end of update split("|") to have multiple sections
}//end of response.indexo f("|")
}//end of response!=""
}//end of status==200
}//end of readystate=4
}//end of function
[/code]
Comment