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] Ajax sous Firefox 3


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de seb55555
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Par défaut [AJAX] Ajax sous Firefox 3
    Bonjour à tous, j'ai un problème sous Firefox 3.

    Le code qui marche sous IE, Firefox 2 ne fonctionne pas sous Firefox 3.


    En recherchant plus précisément d'où venait le problème, j'ai constaté que les paramètres de la requête POST ne sont pas transmis.

    En effet au niveau de l'envoi ajax :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.mXmlHttp.send(parameters);
    les paramètres sont bien présents.

    Mais au niveau de la servlet, je ne les reçoit pas.

    Quelqu'un a t il déjà constaté cela ?
    Comment l'a t il résolu ?

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut
    Salut, c'est la même pour moi, les variables passés en POST (et même en GET me semble t-il) ne fonctionnent pas [le browser indique que leur contenu est undefined].
    Comment j'ai résolu le problème ? retour sur firefox 2 (je développe une application professionnelle réservé aux membres de l'entreprise donc il suffit de sépcifier les conditions d'utilisation et ça roule).
    Par contre c'est sur que c'est un peu problématique j'ai pas réussi à trouver de la doc sur ce problème désolé.

  3. #3
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 138
    Par défaut
    Moi j'utilise plutôt un format JQuery, ma fonction AJAX est donc faite automatiquement et prise en charge par la librairie. J'avais installé FF3, mon programme Servlet/JSP/JQuery marchait bien il me semble, ou du moins les requêtes POST avaient l'air de passer. Je suis repassé sous FF2 car Firebug n'était pas compatible, et j'avoue ne pas pouvoir m'en passer. Utilise-le donc si ce n'est pas le cas, afin de voir si tes paramètres passent bien...dans un sens comme dans l'autre.

    Sinon, en termes de solutions, y'en a deux :

    1) Réécris ta fonction AJAX en JQuery, si ça marche pas => Migre FF2
    2) Migre FF2 direct

    Dans l'espoir que ça t'aide !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 235
    Par défaut
    Je suis repassé sous FF2 car Firebug n'était pas compatible, et j'avoue ne pas pouvoir m'en passer.
    Dès que FF3 est sorti, une version de Firebug était dispo. Je l'ai utilisé le premier jour de sa sortie

  5. #5
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 138
    Par défaut
    Citation Envoyé par Borowsky Voir le message
    Dès que FF3 est sorti, une version de Firebug était dispo. Je l'ai utilisé le premier jour de sa sortie
    Roohh la chance

    Vilain vas !

  6. #6
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Bonjour,

    Même problème pour moi, je viens de laisser un post.

    J'ai la dernière version de FF(3) et de firebug, les valeurs passent en GET mais pas en POST pour moi.

    Qlqun à résolu le blème ?

    Merci

  7. #7
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Mmmmh c'est bon j'ai trouvé mon problème...
    J'ai cherché, cherché et cherché pour finalement découvrir que c'est FIREBUG qui déconne... dans son interprétation de mon traitement il m'affichait un XML de retour qui n'était pas celui que je récupérais véritablement dans mon traitement.
    FIREBUG m'a l'air de simuler avec les données dont il dispose.
    Concrêtement comme il ne reçoit pas la valeur transmise en POST et il exécute le traitement de mon fichier PHP qui concerne cette absence...alors qu'en vérité le serveur reçoit bien la valeur en POST et effectue l'autre traitement...

    Je me suis trop fié à FIREBUG au détriment des véritables données qui transitent...prff...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si vous êtes en développement, pourquoi me pas afficher directement les valeurs retournées par GET ou POST (php: print_r($_GET) et print_r($_POST))

    Simple, rapide, visuelle.

    Bon, faut pas oublier de supprimer les quelques lignes avant transfert

    A+

  9. #9
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Pour ma part jlmag, je parlais de traitements commandés par ajax, par conséquent, rien n'est visible à l'écran que l'on utilise print_r ou même echo, c'est l'intérêt d'ajax.
    Firebug permet justement de debugger ces traitements côté serveur en montrant ce qui s'y passe depuis sa console de debuggage.
    Mais mon pb c'est Firebug... il bug (haha...) sur FF3 : plus précisément il ne montre (dans sa console) aucune valeur (demandée par sortie écran : echo ou print_r) ayant été transmise par POST, alors qu'en vérité, elles sont bel et bien transmises et que tout fonctionne normalement.

    a+

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bah, tien

    J'ai aucun soucis avec FF3 Firebug pour voir les GET ou POST
    AJAX permet surtout de ne pas avoir à recharger une page complète. Mais n'empèche pas de visualiser les données $_POST ou $_GET, ça c'est le traitement via PHP et Javscript qui le ferons (sinon on en développe le code biensur, mapage.php réemet les données, monscript.js les affiche sur la page)

    A+

  11. #11
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Welcome...si tu trouves un correctif, pense à moi

  12. #12
    Invité
    Invité(e)
    Par défaut
    Hello,

    Je suis en version firebug 1.2.0b7
    Si tu vas ICI et que tu clique sur Accueil, dans Firebug => XHR => réseau tu devrais voir les données POST.

    A+

  13. #13
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Je n'ai pas dis que je ne voyais pas transiter les valeurs...
    J'ai dis que la console de traitement (onglet "réponse" de firebug, réseau=>XHR) n'affichait pas le traitement correspondant aux valeurs transmises par POST, par conséquent qu'elle ne récupérait pas les valeurs.

    En revenant sous FF2, je n'ai plus aucun problème.

    Du côté internaute, ça a toujours fonctionné.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Tu veux dire visualiser çà


    ou çà


    ?

    Ou je comprends pas tout, c'est possible

    A+

  15. #15
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Faut dire que c'est bizarre...
    Dans ton cas aucun pb je visualise bien les deux aspects.

    Je me ré-explique plus en détail :

    Mettons que mon traitement ajax récupérait une fiche d'un utilisateur.

    Je récupérais un fichier XML généré par PHP qui pouvait soit être de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <datas>
        <user>
             <id>5</id>
             <nom>bidule</nom>
             etc...
        </user>
    </datas>
    (fiche utilisateur donc...)

    ou bien de la forme suivante dans le cas d'une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <datas>
          <error>Utilisateur introuvable</error>
    </datas>
    Je passais l'ID de l'utilisateur par POST au fchier PHP (voie XHR) qui interrogeait la DB pour trouver l'utilisateur.

    MAIS....

    Dans l'interface de firebug (au niveau de la réponse) je voyais le XML d'erreur (ci-dessus) généré ALORS QUE depuis la fonction callback d'ajax je traitais bien un XML contenant la fiche de l'utilisateur.

    En somme ce que m'affichait firebug n'était pas le véritable XML que je recevais et je tiens à préciser qu'il n'y avait pas de chevauchement de traitements.

    J'ai donc vérifier l'onglet "post" de firebug (réseau=>XHR) pour vérifier mes valeurs envoyées et je les voyaient bien affichées.

    J'ai évidement procédé aux tests classiques du côté PHP pour afficher mes valeurs dans firebug, je ne voyais pas ces valeurs.
    En testant le transfert en méthode GET, firebug m'affichait le bon XML dans sa console mais ça ne changeait rien puisque dans les deux cas, la fonction callback traitait le même XML.

    Ensuite j'ai débuggué au niveau du fichier ajax.js (que j'utilise habituellement), aucun pb particulier, les valeurs sont correctement envoyées et une réponse XML retournée.

    info : J'avais la même version de firebug que toi.

    Bilan aujourd'hui : Pb toujours pas résolu....

  16. #16
    Invité
    Invité(e)
    Par défaut
    J'ai pris tes deux exemples, chez moi tout ok
    Tu peux essayer ICI

    xml_nok.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    header("content-type: text/xml");
    $datasend = '<datas>'
                  .'<error>Utilisateur introuvable</error>'
              .'</datas>';
    echo $datasend;
    ?>
    xml_ok.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    header("content-type: text/xml");
    $datasend = '<datas>'
                  .'<user>'
                     .'<id>5</id>'
                     .'<nom>bidule</nom>'
                     .'<prenom>jacques</prenom>'
                  .'</user>'
              .'</datas>';
    echo $datasend;
    ?>
    Pour ajax, j'utilise jquery

    A+

  17. #17
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Je n'avais qu'un seul traitement mais je doute que mon pb vienne de là.

    Un exemple vite fait...
    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
     
    <?php
    if(!empty($_POST))
        if(isset(gnagna _POST id...)
        {
              $user = user::get($_POST['id']);
              if($user instanceof UserFactory)
              {
                 // CAS 1 : XML fiche utilisateur
              }
              else
              {
                 // CAS 2 : XML ERROR FICHE INTROUVABLE
              }
         }
         else gnagna XML traitement erreur
    }
    else gnagna XML traitement erreur   
     
    ?>
    "gnagna" veut dire "suite logique mais flemme de détailler" ....

  18. #18
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Je crois que dans ton cas tu appelles deux fichiers PHP différents par conséquent tu ne testes pas la valeur transmise par $_POST, l'ID user en l'occurrence (dans l'exemple).

  19. #19
    Invité
    Invité(e)
    Par défaut
    J'ai changé le header en mettant html, c'est aussi ok.
    Ce doit être dans ce que tu envoies qu'il doit y avoir un pb.

    A+

  20. #20
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Je ne pense pas que le Pb vienne de la valeur envoyée, c'est un simple numéro à deux chiffres, ça a toujours fonctionné sur plusieurs plate-formes différentes.

    Je mets tout sur le dos de firebug (Version FF3) pour l'instant, c'est le seul qui est incohérent avec mes traitements.

Discussions similaires

  1. [AJAX] Ajax "undefined" sous Firefox
    Par mess is lore dans le forum AJAX
    Réponses: 5
    Dernier message: 04/08/2010, 18h52
  2. [AJAX] Raffraichissement sous firefox
    Par furth dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 23/07/2007, 16h34
  3. [AJAX] Affichage sous Firefox
    Par Istrella dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/05/2007, 17h54
  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
  5. [AJAX] AJAX en local (firefox /wamp)
    Par Space Cowboy dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/03/2006, 12h05

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