Bonjour

mon programme fonctionne sans erreur sous Firefox mais génère
le message d'erreur "Erreur non spécifiée" sur la ligne de test :
if (xmlHttp.status == 200)

au niveau de

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
if (xmlHttp.readyState == 3) {
  if (xmlHttp.status == 200) {
		document.getElementById( 'divMess' ).innerHTML =xmlHttp.responseText;
  }
}
comment résoudre ce problème de compatibilité

merci pour d'avance

jean-Marie

----------------------------------------------------------------------
pour info je vous donne l'ensemble du programme, l'erreur étant peut-être
à un autre niveau :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
var xmlHttp;
 
//
// fonction d'obtention de l'objet XMLHttpRequest
//
 
function getXmlHttpRequestObject()
{
 // déclaration de la référence à l'objet XMLHttpRequest
 var xmlHttpObject;
 if (window.XMLHttpRequest)
    // le navigateur est Internet Explorer 7 ou plus récent, Mozilla, Safari, etc.
    {
     // on essaie d'obtenir un objet XMLHttpRequest
	 try {
	   xmlHttpObject = new XMLHttpRequest();
	 }
	 // echec 
	 catch(e) {
        xmlHttpObject = false;
     }
   }
 else
    // le navigateur est Internet Explorer 6 ou plus ancien
    {
     // on essaie d'obtenir un objet ActiveXObject, équivalent de l'objet XMLHttpRequest
	 try {
	   xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
	 }
	 // echec 
	 catch(e) {
        xmlHttpObject = false;
     }
}
 // retour de l'objet créé ou affichage d'un message
 return xmlHttpObject;
}
 
 
 
//
// fonction de lancement d'une requête HTTP asynchrone Ajax
//
function requeteAjax()
{
 // tentative d'obtention de l'objet XMLHttpRequest
 xmlHttp = getXmlHttpRequestObject();
 
 if (xmlHttp)
    {
	 // test si l'objet xmlHttp est non initialisé ou disponible (prêt)
	 if (xmlHttp.readyState == 0 || xmlHttp.readyState == 4)
	    {
		 // assignation de la fonction de traitement de la réponse du serveur lorsque le serveur est prêt à envoyer les données mises à jour
		 xmlHttp.onreadystatechange = traitementReponseServeur;
		 //  identification du mode de passage, de l'URL du serveur, le dernier paramètre et du type de transmission : true pour asynchrone
		 var url = "http://localhost/cgi-bin/obs/obshttp_ajax.pl"; 
		 xmlHttp.open("GET", url, true); 
		 // envoi de la requête au serveur, paramètre à null si méthode GET ou méthode POST sans variables à transmettre
		 if(typeof console == 'object') console.log("avant xmlHttp.send");
		 xmlHttp.send(null);
		  if(typeof console == 'object') console.log("après xmlHttp.send");
		}
		else
		// rafraîchissement au bout de 100 millisecondes soit un centième de seconde
		setTimeout("requeteAjax()", 1000);
 
   }
}
 
 
 
//
// fonction de traitement de la réponse du serveur
//
 
function traitementReponseServeur()
 
{
 if (xmlHttp.readyState == 3) {
	if (xmlHttp.status == 200) {
		document.getElementById( 'divMess' ).innerHTML =xmlHttp.responseText;
	}
 }
 
 // test si la transaction est terminée
 
 if (xmlHttp.readyState == 4)
	{
	  if(typeof console == 'object') console.log("début traitementReponseServeur : xmlHttp.status = ",xmlHttp.status);
	 // test si la transaction a réussi
     if (xmlHttp.status == 200)
	    {
		  if(typeof console == 'object') console.log("xmlHttp.readyState == 4 && xmlHttp.status == 200");
		 // relance de la requête 
	     setTimeout("requeteAjax()", 100);
		}
	 else
	    alert("Problème d'exécution : xmlHttp.status = ",xmlHttp.status);
}
}