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 fonctionne avec Chrome, pas avec Firefox sauf si Firedebug démarré


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut Ajax fonctionne avec Chrome, pas avec Firefox sauf si Firedebug démarré
    Bonjour,

    Je me trouve devant un problème qui me laisse perplexe.

    J'utilise un formulaire pour saisir des champs qui sont ensuite enregistrés dans une BDD.
    J'utilise ajax

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $.ajax({
    	type: "POST",
    	url: 'http:// etc... /mapage.php',
    	data: {$titre: Titr, $debut: start, $fin: end},
    });
    mapage.php :
    Code php : 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
    <?php
    if (isset($_POST['$titre'])) {
        $title = $xoopsDB->quoteString($_POST['$titre']);
    }
    if (isset($_POST['$debut'])) {
        $start = $xoopsDB->quoteString($_POST['$debut']);
    }
    if (isset($_POST['$fin'])) {
        $end = $xoopsDB->quoteString($_POST['$fin']);
    }
     
    $sql = 'INSERT INTO '.$xoopsDB->prefix('toto');
    $sql.=  ' (title,start,end) '; 
    $sql.= " VALUES ($title,$start,$end)"; 
     
    $result=$xoopsDB->queryF($sql) or exit("Erreur");
    ?>

    Ce code fonctionne très bien avec Chrome, mais pas du tout avec Firefox SAUF si je démarre mon debugger (Firebug 2.0.7) !!
    Autant dire que je suis aveugle sur le problème rencontré par Firefox, tout fonctionne lorsque Firebug est démarré !

    Une idée ? Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Ah oui, j'ai eu exactement le même problème et c'est carrément vicieux pour trouver l'origine du bogue...

    En fait, c'est le plug-in FireQuery (extension Firebug pour jQuery) qui fait déconner le tout. La seule parade que j'ai trouvée, c'est de désactiver FireQuery.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    I'm not the only one, c'est déjà ça !
    Comment est-ce que je peux désactiver FireQuery ? Merci Bovino.

  4. #4
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Ok, compris, ce n'est pas une option de Firebug mais un module à part entière, je n'avais pas installé FireQuery.
    Je l'installe pour voir la différence et tenter d'obtenir plus d'information de débogage.

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Question, il y a encore un intérêt à utiliser Firebug avec les nouveaux outils développeur Firefox ? Qu'est-ce qu'il propose de plus ?
    One Web to rule them all

  6. #6
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Bon, il suffit de poser la question dans un forum pour parfois trouver la solution. Après deux jours de recherche...

    Lorsque j'ajoute à ajax l'option
    ça fonctionne avec Firefox !
    (et toujours avec Chrome, ouf !)

    Je pressentais bien qu'il y avait un souci lié au timing (que je ne prétends pas bien comprendre encore).
    Firefox doit avoir besoin de plus ou de moins de temps (time out) pour effectuer la même tâche que Chrome.

    résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $.ajax({
    	type: "POST",
            async: false,
    	url: 'http:// etc... /mapage.php',
    	data: {$titre: Titr, $debut: start, $fin: end},
    });
    Merci !

  7. #7
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par SylvainPV Voir le message
    Question, il y a encore un intérêt à utiliser Firebug avec les nouveaux outils développeur Firefox ? Qu'est-ce qu'il propose de plus ?
    Bonjour Sylvain, tu penses à quels nouveaux outils ?

  8. #8
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Ceux intégrés nativement sur Firefox, ou encore l'édition développeur sortie récemment : https://developer.mozilla.org/fr/docs/Outils

    J'ai aussi des collègues qui continuent à bosser avec Firebug au boulot mais je ne comprends pas pourquoi, je le trouve très peu pratique à l'usage et il fait moins que les outils de base. Peut-être juste une question d'habitude ?

    Sinon pour ton problème, j'allais dire que ça m'était déjà arrivé à cause d'un problème d'asynchronicité non décelé. Un listener ou un breakpoint bien placé dans Firebug ou autre peut suffire à laisser le temps à une requête de se terminer avant de passer à la suite. Mettre async à false permet d'éviter ça, mais ça rend la requête synchrone : on perd tout l'intérêt d'AJAX ! Ton problème est sans doute lié à une erreur de logique dans le code, en voulant exécuter des instructions avant d'avoir la réponse AJAX. Tu utilises bien le callback success avec ta requête AJAX ? Montre nous plus de code.
    One Web to rule them all

Discussions similaires

  1. accesskey ne fonctionne pas avec un tabpanel avec ajax
    Par prady92 dans le forum ASP.NET Ajax
    Réponses: 0
    Dernier message: 27/04/2012, 19h28
  2. process fonctionne avec Vista pas avec XP
    Par jbjean dans le forum C#
    Réponses: 12
    Dernier message: 01/07/2011, 18h05
  3. Formulaire PHP fonctionne avec FF pas avec IE
    Par djchoubi dans le forum Langage
    Réponses: 1
    Dernier message: 09/06/2011, 20h17
  4. Réponses: 1
    Dernier message: 01/01/2011, 16h14
  5. Programme ne fonctionne pas avec 3 caméras (avec 1 et 2 c'est OK)
    Par beegees dans le forum Général Python
    Réponses: 0
    Dernier message: 26/10/2010, 15h20

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