IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Résultat de requête Ajax vide sous IE, mais pas sous FF


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Points : 64
    Points
    64
    Par défaut [AJAX] Résultat de requête Ajax vide sous IE, mais pas sous FF
    Bonjour à tous,

    J'ai fait un site en ajax et avec une base de données 4D.

    Je l'ai testé en local, tout marchait bien, tant sur IE que sur FF.

    Mais depuis que j'ai mis mon site sur le serveur de la société, celui-ci ne fonctionne plus qu'avec FF.

    Ce qui ne fonctionne est simplement l'affichage du contenu lorsque l'on clique sur une rubrique de mon menu.

    L'appel du contenu stocké dans 4D se fait à l'aide de la fonction Post4D suivante :

    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
     
     
    function GetHTTP()
    {
    var req = false; try
    { req=new XMLHttpRequest();
    } catch(e) { try
    {
    req=new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e)
    {
    try
    {
    req = new ActiveXObject("Microsoft.XMLHTTP"); }
    catch(e)
    {
    req = false;
    }
    }
    }
    return req;
    } /* Appele une méthode 4D et renvoi la reponse */
    function Post4D(method_4D, values)
    {
      var req = GetHTTP(); if(req)
      {
      req.onreadystatechange=function()
      {
          if (req.readyState==4) {
             if(req.status!=200)
             {
                 req =false;
             }
          }
      }
    req.open("POST", '/4daction/'+method_4D+'/'+Math.random() ,false);
    req.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); req.send(values); }
    return req;
    }
    Pour récupérer et afficher le contenu de la rubrique, j'exécute la fonction afficheContenu suivante, avec en paramètre l'id de la rubrique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    function afficheContenu(id,niveauId)
    {
             var req = Post4D('WEB_Content', 'var1='+id+'&var2='+niveauId);
             var contenu = document.getElementById('Content');
             var resultat = req.responseText;
             contenu.innerHTML = resultat;
    }
    C'est le div "Content" qui est mis à jour.

    Sous FF, cela fonctionne correctement, mais sous IE, ça n'affiche rien et le navigateur ne renvoit aucune erreur.

    J'ai essayé d'afficher dans un alert la réponse de la requête, mais idem, aucune donnée, tant sur IE que sur FF, alors que pourtant, je récupère bien le contenu de la rubrique sous FF.

    J'ai effectué un autre test. A la place d'afficher le contenu de la réponse de la requête, j'ai affiché la chaîne "bonjour", et là, ça fonctionne.

    J'avoue que je suis un peu dérouté.

    Pouvez-vous m'aider ?

    Je vous remercie

    Ben

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Essaye d'ajouter un alert dans POST4D avant de retourner ta requete. Tu verras bien si elle un responseText ou pas....

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Points : 64
    Points
    64
    Par défaut
    En fait, j'ai trouvé la réponse.

    IE n'affiche pas le contenu car j'ai un caractère spécial au début de mon contenu (un carré vide), que je n'arrive pas à virer.

    Donc voilà, je met résolu sans toutefois avoir complètement trouvé la solution.

    Merci

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par brazilia28 Voir le message
    IE n'affiche pas le contenu car j'ai un caractère spécial au début de mon contenu (un carré vide), que je n'arrive pas à virer.
    Ca ressemble à un marqueur UTF-8. Tu as précisé partout que c'était de l'UTF-8 (si c'est le cas)?

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Points : 64
    Points
    64
    Par défaut
    oui ma page est encodée en utf-8.

    Je ne maitrise pas du tout le domaine de l'encodage.

    Faut-il que je change ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/07/2010, 17h15
  2. Réponses: 3
    Dernier message: 14/05/2008, 18h31
  3. [AJAX] tchatbox visible sous FF mais pas sous IE
    Par Jonathan.b dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/01/2008, 13h58
  4. [AJAX] Ajax marche sous IE mais pas sous Firefox
    Par snoopy92 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/05/2007, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo