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

[XMLHttpRequest] - onreadystatechange work in IE nothin in mozilla

P: n/a
hello,

I'm writing a program using XMLHttpRequest that works in the main case
on IE and mozilla but this code works only on IE ... why ?

probleme is located at mark 'HERE' at the end of code.

{__start_of_code__} ('piece' of code)

....
// OBJ. HTTP
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}

<!-- OBJETS HTTP -->
var http = getHTTPObject();
var http1 = getHTTPObject();
var http2 = getHTTPObject();

// GESTION EVENT AJAX
function handleHttpResponse(varhttp,context){
switch (varhttp.readyState){
case 4:
switch (context){
case 'search':
...
break ;
case 'addline':
var sbar = document.getElementById("sbar") ;
sbar.innerHTML += varhttp.responseText ;
pbar1.next() ;
break ;
case 'ping':
...
break ;
default:
alert("!! ERROR !!") ;
break ;
}
break ;
case 3:
logger("Status : Transfert de donnees en cours...") ;
break ;
case 2:
logger("Status : Attente de la reponse...") ;
break ;
case 1:
logger("Status : Connexion au serveur...") ;
break ;
case 0:
logger("Status : Connexion non initialise !! ") ;
break ;
}
}
function wake(cnt){

var url_base =
document.getElementById("machinelist").getElements ByTagName("a")[cnt] ;
var url_sbar = new String(url_base) ;

if (url_base) {

url_sbar = url_sbar.replace("index.php","proc.php");
url_sbar = url_sbar.replace("wakeup","ajaxbehav_sbar");

// JS SYNCHRONE !!
http1.open("GET", url_sbar,false) ;
// HERE !!!!!
// this line has no effect ; state never change !!!
http1.onreadystatechange=function(){handleHttpResp onse(http1,"addline")}
;
///////////////////////////////////////////////
http1.send(null) ;

http2.open("GET", url_base,false);
http2.send(null) ;
//====================================

}

}
....
{__end__}

how this code return no error in any browser but works only on IE ??

thanks.

regards.

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


P: n/a


jh****@gmail.com wrote:

// JS SYNCHRONE !!
http1.open("GET", url_sbar,false) ;
// HERE !!!!!
// this line has no effect ; state never change !!!
http1.onreadystatechange=function(){handleHttpResp onse(http1,"addline")}
;
///////////////////////////////////////////////
http1.send(null) ;
If you make a synchronous request then the send() call blocks your
script until the response is there and you don't need an
onreadystatechange event handler but you should simply have your code
check the status, responseText and so on directly here after the send
call. Firefox does not fire onreadystatechange for the synchronous call.

--

Martin Honnen
http://JavaScript.FAQTs.com/
Aug 29 '06 #2

P: n/a

it's OK ;) - that works

thanks...

Martin Honnen wrote:
jh****@gmail.com wrote:

// JS SYNCHRONE !!
http1.open("GET", url_sbar,false) ;
// HERE !!!!!
// this line has no effect ; state never change !!!
http1.onreadystatechange=function(){handleHttpResp onse(http1,"addline")}
;
///////////////////////////////////////////////
http1.send(null) ;

If you make a synchronous request then the send() call blocks your
script until the response is there and you don't need an
onreadystatechange event handler but you should simply have your code
check the status, responseText and so on directly here after the send
call. Firefox does not fire onreadystatechange for the synchronous call.

--

Martin Honnen
http://JavaScript.FAQTs.com/
Aug 30 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.