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 et javascript contenu


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut [AJAX] Ajax et javascript contenu
    Salut,

    j'utilise la méthode ajax (XMLHttpRequest) pour remplir un div.
    Seulement dans le code chargé il y a des fonctions javascript.
    Une fois chargées les fonctions en questions ne sont pas reconnues par le navigateur (il déclare ne pas les connaitres).
    D'ou mes 2 questions:
    Est-il normal que le code javascript ramené par XMLHttpRequest ne soit pas parsé/executé ?
    Comment faire pour l'y obliger (en l'occurrence il s'agit de javacript généré par le validator de struts, je ne peux pas le charger à l'avance dans la page principale)

    D'avance merci
    Steve
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  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 Re: Ajax et javascript contenu
    Citation Envoyé par ze_key
    ajax (XMLHttpRequest)
    C'est quoi Ajax? UNe marque de lessive ou un hero grec? quel rapport avec XmlHttpRequest????
    Citation Envoyé par ze_key
    Est-il normal que le code javascript ramené par XMLHttpRequest ne soit pas parsé/executé ?
    Oui, pourquoi le serait-il (à part parceque ça t'arrange?). XmlHttpRequest en conçyu pour renvoyer une information sous forme de XML, donc pas besoin d'executer le XML....
    Citation Envoyé par ze_key
    Comment faire pour l'y obliger
    eval()

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut Re: Ajax et javascript contenu
    Citation Envoyé par denisC
    C'est quoi Ajax? UNe marque de lessive ou un hero grec? quel rapport avec XmlHttpRequest????
    http://en.wikipedia.org/wiki/AJAX

    Citation Envoyé par ze_key
    Est-il normal que le code javascript ramené par XMLHttpRequest ne soit pas parsé/executé ?
    Tu as un exemple pour voir parce que là on peut pas trop deviner.

    Citation Envoyé par denisC
    XmlHttpRequest en conçyu pour renvoyer une information sous forme de XML, donc pas besoin d'executer le XML....
    Tu peux envoyer autre chose que du xml =>
    Citation Envoyé par http://developer.apple.com/internet/webcontent/xmlhttpreq.html
    Content that is sent as text/plain or text/html is accepted by the instance of the request object however it will only be available for use via the responseText property.

  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 Re: Ajax et javascript contenu
    A quoi je réponds par:
    Ajax : le retour des lessiviers ?

    Ajax, c'est juste un argument commercial de vente. Ca ne désigne rien et n'est qu'un nom plus sexy pour XmlHttpRequest... Enfin

    Citation Envoyé par Mr N.
    Citation Envoyé par denisC
    XmlHttpRequest en conçu pour renvoyer une information sous forme de XML, donc pas besoin d'executer le XML....
    Tu peux envoyer autre chose que du xml
    Tu remarqueras que j'ai dis conçu. On pu bien entendu envoyer du texte et même des instructions javaScript (cf Google Suggest qui utilise cette technique). Mais à la base, c'est fait pour du XML, donc c'est normal que ça n'execute pas le code JavaScript.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    eh oui, comme dit brillamment Denis, un ptit eval (palindrome de lave, vous aurez tous remarqué) donne un résultat plus que blanc;

  6. #6
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Alors pour eval oui ...mais non.
    En fait mon objectif est de charger des fragments (HTML+Javascript) dans un div, fonction des clicks de l'utilisateur (pour eviter les frames).
    Hors si je ne m'abuse eval et html ne font pas bon ménage.


    Steve
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    j'ai un petit peu le même souci et j'ai essayé Eval, ça ne passe tjr pas...

    Je vous donne ici le code utilisé :

    Côté PHP préparation d'un fichier XML

    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
     
    <?php
    //
    header("Content-Type: text/xml;");
    	//
    	$liens[0]["titre"] = "Le lieu";
    	$liens[0]["url"] = 'SOL/lieu_centre_formation.php';
    	$liens[0]["class"] = 'lien_sommaire';
    	$liens[0]["class_hover"] = 'lien_sommaire_hover';
    	//
    	$liens[1]["titre"] = "L'équipe";
    	$liens[1]["url"] = 'SOL/equipe_centre_formation.php';
    	$liens[1]["class"] = 'lien_sommaire';
    	$liens[1]["class_hover"] = 'lien_sommaire_hover';
    	//
    	$titre_sommaire = 'Centre de formation';
    //
    $contenu_sommaire = '<div id="titre_sommaire">'.$titre_sommaire.'</div>';
    if ( isset( $liens ) )
    {
    	foreach ($liens as $lien)
    	{
    		$onMouseOver_lien = 'this.className=\''.$lien["class_hover"].'\';';
    		$onMouseOut_lien = 'this.className=\''.$lien["class"].'\';';
    		$lien_ok = (isset($lien["url"]) && $lien["url"] != "")? ' onClick="afficher_detail(\''.$lien["url"].'\', \'GET\', null);" ' : '';
    		$contenu_sommaire .= '<div onmouseover="test(); '.$onMouseOver_lien.'" onmouseout="'.$onMouseOut_lien.'" class="'.$lien["class"].'"  '.$lien_ok.'>'.$lien["titre"].'</div>';
    	}
    }
    //
    $contenu_sommaire .= '</div>';
    //
     
    $response = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n".
    	"<reponse>\n".
    	"	<sommaire><![CDATA[".$contenu_sommaire."]]></sommaire>\n".
    	"	<scripts><![CDATA[function test () { alert('test'); }]]></scripts>\n".
    	"</reponse>";
    //	
    echo $response;
     
    ?>
    Côté javascript traitement de la reponse XMLHttpRequest :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function handleHttpResponseSommaire() 
    	{
    		if (http.readyState == 4) 
    		{	
    			var nouveau_sommaire = http.responseXML.documentElement;
    			document.getElementById("contenu_detail").innerHTML = "";
    			document.getElementById("contenu_sommaire").innerHTML =  nouveau_sommaire.getElementsByTagName('sommaire')[0].text;
    			eval(nouveau_sommaire.getElementsByTagName('scripts')[0].text);
    		}
    	}
    Voilà je veux rappatrier de mon fichier XML des fonctions javascript et les intégrer au document, avec que les nouveaux éléments puissent les appeler.

    Merci
    zefrit

  8. #8
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Merci zefrit,

    grace à ton post, j'ai pu résoudre mon problème de la facon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
       element.innerHTML = xmlhttp.responseText;
       try{
          var l=element.getElementsByTagName('script').length
          for(var j=0;j<l;j++){
             var script = document.createElement('script');
             script.type = 'text/javascript';
             script.text = element.getElementsByTagName('script').item(j).text;
             document.getElementsByTagName('head')[0].appendChild(script); 		      }     		
       }catch(e){
    	alert(e);
       }
    Steve Hostettler
    est ton ami(e) et le tag aussi.

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

Discussions similaires

  1. [AJAX] Ajax et attente javascript
    Par Decap dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2008, 11h02
  2. [AJAX] Comment récupérer le contenu d'une balise
    Par MicaelFelix dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/01/2007, 04h08
  3. [AJAX] générer du Javascript
    Par tanglung dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 19/12/2006, 15h30
  4. [AJAX] ajax et fonction javascript
    Par locs dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/08/2006, 16h56
  5. [AJAX] Problème de javascript / compatibilité
    Par Pepe67 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 30/06/2006, 12h30

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