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


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [AJAX] AJAX et javascript
    Bonjour,

    voila j'ai un probleme avec l'AJAX...

    En fait,
    je voudrais mettre du javascript dans la reponse que me renvoie le XmlHttpRequest et que celui
    ci soit execute. Je sais que je peux utiliser la fonction eval() en js si je suis sur de ne recevoir que du javascript mais
    je veux pouvoir executer du html combine avec du javascript, je ne sais pas comment faire puisque le javascript
    n'est pas interprete....
    J'ai aussi teste avec la technique des iframes mais meme resultat....

    Merci bcp d'avance pour ceux qui auraient une solution a partager !

  2. #2
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var b = xmlhttp.responseText;  // ce que te renvoie XmlHttpRequest
    Puis tu fais ton code JS.

    eval(), je n'ai jamais utilisé mais tu peux aller sur Google.fr, tu tape "eval & javascript" et là, tu auras plein d'explication et avec exemple.

  3. #3
    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
    Citation Envoyé par spud5351
    je voudrais mettre du javascript dans la reponse que me renvoie le XmlHttpRequest et que celui
    ci soit execute.
    Tu veux mettre juste du JS ou du JS et du HTML?

    En gros, qu'est ce que tu cherches à faire in fine, pour l'utilisateur?

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    une solution putôt que eval consiste à attacher le javascript à la page
    la fonction suivante le fait avec un fichier js

    mais on peut la modifier pour mettre un script directement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function include (source) {
      var s=document.createElement("script");
      s.charset="UTF-8";
      s.src=source;
      head = document.getElementsByTagName('head')[0];
      head.appendChild(s);
    }
    je vous donne la modif mais je ne l'ai pas testée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function include (script) {
      var s=document.createElement("script");
      s.charset="UTF-8";
      var oj = document.createTextNode(script) ;
      s.appendChild(oj);
      head = document.getElementsByTagName('head')[0];
      head.appendChild(s);
    }

    Attention le charset est celui que j'utilise moi penssez à mettre le votre.

    pour finir je vous déconseille fortement de faire transiter du code entre le serveur et le client de même dans l'autre sens.
    c'est quelque chose de dangereux et cela brise la séparation des couches.

    il est plus indiqué d'embarquer les fonctions javascript dans la page cliente. et de faitre transiter une info indiquant la quelle utiliser.

    il est vrai qu'il parait céduisant de faire transiter des choses comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var tab = Array();
    tab[0] = 'machin';
    tab[1] = 'chose';
    mais on perd ainsi un des avantage de AJAX qui est l'indépendance du serveur de son client.
    mieux vaut faire transiter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tab>
    <item id='0'>machin</item>
    <item id='1'>chose</item>
    </tab>
    et ensuite de le mettre dans un tableau si besoin (côté client). car ainsi le serveur poura être appelé par d'autre client ne connaissant pas javascript. ou traitant diféremment ces données.

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] Conflit entre script Ajax et scripts Javascript
    Par Mingain dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/10/2007, 13h18
  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