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] Exécuter JS dans réponse Ajax


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut [AJAX] Exécuter JS dans réponse Ajax
    J'ai recherché sur ce sujet, mais je n'ai rien trouver, je suis étonné, je ne suis sûrement pas le premier à me casser le nez là dessus ?

    Mon problème est simple: Comme puis-je faire pour que le code Javascript qui est contenu dans la réponse à mon appel Ajax puisse s'éxécuter ?

    Voici un code exemple ou je fais mes tests qui ne fonctionne pas.
    J'ai essayé de faire court. Merci
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <html>
    <body>
    <script type="text/javascript">
    var i = 0;
     
    function ajax(){
        var xhr=null;
     
        if (window.XMLHttpRequest) { 
            xhr = new XMLHttpRequest();
        }
        else if (window.ActiveXObject) 
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //on définit l'appel de la fonction au retour serveur
        xhr.onreadystatechange = function() { Display_ajax(xhr); };
     
        //on appelle le fichier reponse.txt
        xhr.open("GET", "reponse.php", true);
        xhr.send(null);
    }
     
    function Display_ajax(xhr){
     
        if (xhr.readyState==4) 
        {
        	// Declaration de la variable de retour HTML
    		var My_html_Response = xhr.responseText;
     
        	document.getElementById("result").innerHTML = My_html_Response;
        }
    }
     
    function insert(){
    	var myRow = document.getElementById('ta').insertRow(-1);
     
    	var newCell = myRow.insertCell(0);
    	i++;
    	newCell.innerHTML = 'nouvelle cellule '+i;
    }
    </script>
    <p><a href="javascript:ajax();">Insérer une ligne via Ajax</a></p>
    <p><a href="javascript:insert();">Insérer une ligne direct</a></p>
     
    <div id=result>Attente</div>
     
    <table id="ta" border=1>
    	<tr><td>Ligne 0</td></tr>
    </table>
    </body>
    </html>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    echo "<script>
                            insert();
                            //alert(\"Ajout de ligne\");
            </script>";
    ?>

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(My_html_Response);
    par hasard?

  3. #3
    Membre expérimenté
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Par défaut
    salut,
    c'est pas eval() ?

  4. #4
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Citation Envoyé par HumanTool Voir le message
    salut,
    c'est pas eval() ?
    Eval ne donne rien non plus.

  5. #5
    Membre expérimenté
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Par défaut
    en php, ne renvoi pas les balises script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo "insert();"
    ?>
    mais est ce que tu enverras toujours cette ligne, parce que dans ce cas il y a un truc à revoir sur l'utilité de faire eval d'une réponse du serveur ?

    sinon eval est de la sorte :

  6. #6
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Arf.. oui,c'était eval

    Sinon,tu as quels messages d'erreur?

  7. #7
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Citation Envoyé par supersnail Voir le message
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(My_html_Response);
    par hasard?
    J'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // document.getElementById("result").innerHTML = My_html_Response;
    exec(My_html_Response);
    Evidement la fonction exec() n'est déclarée nul part. Tu as sûrement oublié de me donner le détail de la fonction. A moins qu'il s'agisse d'une fonction JS qui m'est inconnu (ce qui est possible).

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/04/2012, 00h49
  2. Réponses: 3
    Dernier message: 02/07/2010, 23h58
  3. [AJAX] Comment gérer des réponses ajax simultanées ?!
    Par jahjah92 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2007, 21h48
  4. [AJAX] execution js dans page ajax
    Par Mat_DZ dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 11/03/2007, 20h39
  5. [AJAX] Exécution Javascript dans XSL (FireFox)
    Par mchaz84 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2007, 08h48

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