Salut tous le monde
j'ai créer un service web en C#.NET et il fonctionne très bien, et j'ai appelé ce service par une requête XMLHTTP que l’intègre dans un fichier .html

en exécutant ce code sur IE , il fonctionne tres bien, par contre en FF et chrome , j'ai constaté que le xhr.status = 0 et xhr.responseXML.xml=null
existe-t-il une solution pour que ça fonctionne dans n'importe quelle navigateur car je vais a la fin l’intégrer dans une application phonegap(sachant que ça ne fonctionne pas aussi ..)

la fonction appelante dans le fichier .html :
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
 
function resultat(){
  var strRequest ;
  var xhr  ;
         if(window.XMLHttpRequest) {
    try {
 
      xhr = new XMLHttpRequest();
    } catch(e) {
      xhr = false;
    }
  } else if(window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xhr = false;
      }
    }
  }   
xhr.open ("POST", "http://localhost/TemperatureWebService/Convert.asmx",
true);
xhr.setRequestHeader( "Content-Type","text/xml; charset=utf-8");
xhr.setRequestHeader(
"SOAPAction", "http://tempuri.org/CelsiusToFahrenheit");
// alert('3');
 
strRequest = "<?xml version='1.0' encoding='utf-8'?>";
        strRequest = strRequest + "<soap:Envelope " + 
"xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " +
"xmlns:xsd='http://www.w3.org/2001/XMLSchema' " +
"xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>";
        strRequest = strRequest + " <soap:Body>";
        strRequest = strRequest + "<CelsiusToFahrenheit xmlns='http://tempuri.org/'><Celsius>100</Celsius></CelsiusToFahrenheit>";
        strRequest = strRequest + "</soap:Body>";
        strRequest = strRequest + "</soap:Envelope>";
// alert(strRequest);
 
xhr.onreadystatechange = function () {
   // alert(xhr.readyState);
   // alert(xhr.status);
   if(xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 0)){
       //receiving response
    }
};
xhr.send(strRequest);
alert('result !');
try
{
  alert(xhr.responseXML.xml);
document.getElementById("resultat").innerHTML=xhr.responseXML.xml;
}
catch(e) {
       // xhr = false;
      }
}