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

AJAX Discussion :

[AJAX] Incompatibilité : de syntaxe ?


Sujet :

AJAX

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 265
    Par défaut [AJAX] Incompatibilité : de syntaxe ?
    Bonjour,

    Ci dessous voici un code dont j'ai expurgé toute logique afin de comprendre d'où venait mon problème. IL apparait que ce code qui fonctionne très bien sous d'autres navigateurs (par exemple FireFox) ne marche pas avec Internet explorer.
    IL m'a fallu du temps pour comprendre que cela venait de la ligne data: {parm} , que j'ai commenté.

    Lorsque je clique sur le bouton , cela marche très bien. Par contre si j'enlève les // et après avoir rafraichi la page (F5) pour s'assurer que JavaScript est rechargé, alors cela ne fonctionne plus.

    Comme dans l'exemple il n'y a aucun appel à cette fonction, je subodore que c'est un problème de syntaxe.
    Est que la forme data : {parm} est invalide en javascript sous IE ?

    Merci d'avance.


    Code html : 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
    40
    41
    42
    43
    44
    45
    46
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/HTML4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-FR">
    <head> 
    <meta http-equiv="content-language" content="fr-FR" />
    <meta name="language" content="fr-FR" />
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> 
    <meta http-equiv="Cache-Control" content="no-store" />
    <meta http-equiv="Cache-Control" content="no-store" />
    <script src="https://code.jquery.com/jquery-2.1.0.min.js"></script> 
    <script src="https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> 
    <script src="jquery.cookie.js"></script>
    <script>
    function Afficher(rubrique)
    { 
            alert("Valeur du bouton  : " + rubrique);
    } 
     
    function executeAjax(id,url,parm,mode)
    {    
             $.ajax({    
                     type:          "POST",
                     url:           url,
                     // data:       {parm} ,    
                     async:         mode,
                     dataType:      'html',
                     cache:         false,
                     success:       function(msg)
                                    {
                                    
                                            monString = msg;
                                            if (msg.indexOf("ERR") == 0) msg=""; // ce n'est pas un message d'erreur
                                            $(id).html( msg );
                                            
                                    } 
                    });  
              return monString; 
               
    }  
    </script>
    <title>Dictionnaire des Editeurs</title>
     
    </head>
    <body><p>
    <center><form><input type="Button" value="Cliquez"  onClick='Afficher("Test");'/></form>
    </body></html>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    data: { key : value},
    // la suite...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 265
    Par défaut
    Merci pour cette réponse. Évidemment je connaissais cette forme pour passer des paramètres, mais j'avais lu dans un forum un exemple qui utilisait la forme
    data : {parm}

    En fait comme je crée moi même une liste qui n'est pas vraiment sous la forme key/value habituelle, cela m'a paru simple de ne passer que ce string
    Sous firefox en utilisant cette forme, je récupère ma liste dans PHP avec l'nstructon $parm = "POST("parm");
    Ensuite j'ai une fonction de parsing pour retrouver les différents valeurs.

    J'étais étonné que cela ne marche pas avec IE car je pensais que c'était standard.

    Bon !! je vais modifier mon code pour que cela marche dans tous les cas (et me conformer aux bons usages).

    Merci encore.

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

Discussions similaires

  1. [AJAX] "Erreur de syntaxe" dans firebug
    Par nico1214 dans le forum AJAX
    Réponses: 1
    Dernier message: 20/05/2009, 19h03
  2. [AJAX] Syntaxe avec AJAX
    Par kstou2001 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/09/2007, 14h09
  3. [AJAX] Syntaxe
    Par lesafir dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/08/2007, 07h10
  4. [AJAX] Incompatibilité AJAX && IE
    Par profgryzzli dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/06/2007, 16h27
  5. [AJAX] Incompatibilité avec IE (données non mis à jour)
    Par WeDgEMasTeR dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/05/2007, 19h46

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