Function traitementReponse(http_request,div_write) et https

Fermé
olivier2771 Messages postés 4 Date d'inscription samedi 19 mars 2016 Statut Membre Dernière intervention 23 mars 2016 - Modifié par KX le 19/03/2016 à 13:44
olivier2771 Messages postés 4 Date d'inscription samedi 19 mars 2016 Statut Membre Dernière intervention 23 mars 2016 - 23 mars 2016 à 13:45
Bonjour à tous,

J'ai un petit code javascript pour récupérer les valeurs d'une liste. Il semblerait que depuis que le site est en https la requête donne le message d'erreur "un problème est survenu avec la requête" (message d'erreur formaté dans le code request.js).

Ce dialogue box d'erreur ne s'affiche que sur IE (et le dernier IE11). Pas sur les autres navigateurs comme Google Chrome ou Safari ou encore FF).

Il se trouve que j'utilise exactement le même code sur un autre site qui n'est pas encore en https et pas d'erreur box dialogue.

D'après le mode debug d'Internet Explorer, il s'agirait de ceci:

dom7011 le code de la page est désactivé la mise en cache précédente et suivante
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/dn265017(v=vs.85)?redirectedfrom=MSDN

Serait-ce possible que https soit un problème avec ce code que j'utilise depuis quelques années sans problème et sur plusieurs sites ?

Voici le code en question:

<script type="text/javascript">
function makeRequest(url,div_write,arg1,arg2)
{
 var http_request = false;
    if (window.XMLHttpRequest) // Mozilla, Safari,...
 {
     http_request = new XMLHttpRequest();
  if (http_request.overrideMimeType)
  {
    http_request.overrideMimeType('text/xml');
  }
     }
  else if (window.ActiveXObject)
  { // IE
         try
   {
               http_request = new ActiveXObject("Msxml2.XMLHTTP");
       }
   catch (e)
   {
              try
     {
                   http_request = new ActiveXObject("Microsoft.XMLHTTP");
              }
     catch (e) {}
          }
     }
  if (!http_request)
  {
         alert('Abandon :(Votre navigateur ne supporte pas les objets XMLHTTPRequest, veuillez le mettre a jour');
         return false;
     }
     http_request.onreadystatechange = function() { traitementReponse(http_request,div_write); } 
  http_request.open('POST', url, true);
  //http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1");
  http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  data="val_1="+arg1;
  if(arg2) data+="&val_2="+arg2;
     http_request.send(data);
}
function traitementReponse(http_request,div_write)
{
 var affich="";
 try {
  if (http_request.readyState == 4)
  {
   if (http_request.status == 200)
   {
    var affich_list=http_request.responseText;
    obj = document.getElementById(div_write); 
    obj.innerHTML = affich_list;
   } 
   else
   {
    alert('Un probleme est survenu avec la requete.');
   }
  }
 }
 catch( e ) {
            alert('Une exception s\'est produite : ' + e.description);
        }
}
</script>


N'étant pas un pro du Javascript et ayant cherché des réponses dans ce forum et un peu partout d'ailleurs, je me rends compte que je vais avoir besoin d'aide pour comprendre ou pour modifier ce qu'il y aurait lieu de faire.

Si quelqu'un pourrait avoir la gentilesse d'éclairer ma lanterne ? Le site est gratuit pour la communauté et existe depuis plus de 15 ans et j'aimerais ne pas faire une croix sur les utilisateurs d'Internet Explorer..

MErci :)

2 réponses

olivier2771 Messages postés 4 Date d'inscription samedi 19 mars 2016 Statut Membre Dernière intervention 23 mars 2016
20 mars 2016 à 12:34
J'ai encore creusé la question et non, ce n'est pas une question de https. C'est vraiment une erreur visible sur que sur Internet Explorer. Erreur qui n'en n'est pas vraiment une car le code (la requête) fonctionne une fois que l'on clique "OK" dans la dialogue error box.

La page en question est https://www.misterannonces.be/signup.php
(pour info je n'ai pas minimisé le code pour une lecture plus agréable)

J'ai aussi supprimé les "//remarques", il semble que cela peut jouer dans la lecture du code.

Donc je cherche toujours pourquoi le message d'alert (généré par la ligne 58 ci-dessus => "Un probleme est survenu avec la requete") s'affiche toujours avec IE.

J'ai vaguement lu quelque part dans mes recherches que obj.innerHTML pouvait créer des petits problèmes avec IE (?).

Si quelqu'un pouvait avoir une idée..

Merci.
0
olivier2771 Messages postés 4 Date d'inscription samedi 19 mars 2016 Statut Membre Dernière intervention 23 mars 2016
21 mars 2016 à 09:23
Pour info: comme la requête fonctionne, j'ai supprimé les lignes 56 à 59 du code Javascript. En attendant de démystifier le problème.
0
olivier2771 Messages postés 4 Date d'inscription samedi 19 mars 2016 Statut Membre Dernière intervention 23 mars 2016
23 mars 2016 à 13:45
Encore un petit test que je ferai ce soir et je pense avoir trouvé l'origine de ce petit bug sans pour autant modifier une ligne du code (requête Ajax).

PS: merci a KX et jipicy pour avoir redirigé mon post dans la bonne catégorie (j'avais hésité entre les deux).
PS2: moi zaime bien mon monologue 0_°
0