Réponse tardive de HttpRequest - javascript - ajax -html

Réponse tardive de HttpRequest - javascript - ajax -html - HTML/CSS - Programmation

Marsh Posté le 18-01-2008 à 11:00:11    

Bonjour à tous!!
 
Une chose étrange m'est arrivée récemment :
J'envoie une requete XMLhttpRequest et affiche le résultat dans ma page html.
Depuis le début la valeur renvoyée est undefined sur firefox, alors que sur IE ça fontcionne trés bien.
Puis j'ai installé firebug. Là miracle tout fonctionne.
En fait, je me suis aperçu qu'avant firebug, la réponse n'était pas parvenu que le script passé aux étapes suivantes.
Bon vous allez me dire beh le problème est réglé...? Bah non car depuis j'ai une deuxième requete et là j'ai le même problème qu'avant.
Voici le code :
 
 

Code :
  1. function http_request(data,script)
  2.  {
  3.  xhr_object = null; 
  4.  if(window.XMLHttpRequest) // Firefox  
  5.   {
  6.   xhr_object = new XMLHttpRequest();
  7.    if (xhr_object.overrideMimeType)
  8.     {
  9.                 xhr_object.overrideMimeType('text/xml');                  // Voir la note ci-dessous à propos de cette ligne
  10.              }
  11.             }
  12.  else if(window.ActiveXObject) // Internet Explorer  
  13.   {                 //alert("IE" );
  14.   try
  15.    {
  16.                 xhr_object = new ActiveXObject("Msxml2.XMLHTTP" );
  17.              }
  18.             catch (e)
  19.              {
  20.                 try
  21.                  {
  22.                     xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
  23.                  }
  24.                 catch (e) {}
  25.              }
  26.             }
  27.  else
  28.   {
  29.   alert("Your navigator does not support XMLHTTPRequest..." );
  30.   return;
  31.   }
  32.         xhr_object.open('GET', 'http://chezmoi/'+script+'?'+data, false);
  33.         xhr_object.onreadystatechange = function() { alertContents(xhr_object); };
  34.         xhr_object.send(null);
  35.  }
  36. function alertContents(xhr_object) {
  37.         if (xhr_object.readyState == 4) {
  38.             if (xhr_object.status == 200) {
  39.                 http_reply = String(xhr_object.responseText);
  40.             } else {
  41.                 alert('Problem with the XHRobject request.');
  42.             }
  43.         }
  44.     }


 
et
 
 

Code :
  1. http_request(newR,'cgi-bin/monscript.pl');
  2.   document.getElementById('newrequest').value = "";
  3.   var taille = document.getElementById("request" ).getElementsByTagName('tr').length;
  4.   var lignes = document.getElementById("request" ).getElementsByTagName('tr');
  5.   for(i=0;i<taille;i++)
  6.    {
  7.    if(lignes[i])
  8.     {
  9.     var name = lignes[i].getElementsByTagName('td')[0].innerHTML;
  10.     if(name.match("request found" ))
  11.      {
  12.      document.getElementById("request" ).deleteRow(i);
  13.      }
  14.     }
  15.    }
  16.   newR = newR.toUpperCase();
  17.   var newRow = document.getElementById("request" ).insertRow(-1);
  18.   newRow.id = "newr"+nCachr;           //alert("=>"+nid);
  19.   var newCell0 = newRow.insertCell(0);
  20.   var newCell1 = newRow.insertCell(1);
  21.   var ligne0 = "<input checked onclick='RsimpleSuppress(\"newr"+nCachr+"\" )' name=\"newr"+nCachr+"\" id=\"newr"+nCachr+"\" type=\"checkbox\"><label class=\"ptilabel\" id=\"newr"+nCachr+"\" onmouseover='detectMouse(\"newr"+nCachr+"\",event)' onmouseout=\"mouseAway()\">&nbsp;"+newR+"&nbsp;<\/label>";
  22.   var ligne1 = "<a class=text_form target=\"_blank\" href=\"http:\/\/url="+newR+"\" style=\"text-decoration:none;\">"+http_reply+"<\/a>";
  23.   newCell0.innerHTML = ligne0;


 
Alors merci de votre aide!

Reply

Marsh Posté le 18-01-2008 à 11:00:11   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed