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] php et javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par d�faut [AJAX] php et javascript
    Bonjour � tous,

    Je ne comprends, je fais :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    xhr_object.open("GET", "test.php", false); // methode synchrone
    Dans test.php, je fais
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <script type="text/javascript">alert ("toto");</script>
    et ca ne marche pas ...
    si j'appelle directement test.php, ca marche tr�s bien ...
    javascript ne fonctionne pas si le page est appel�e par xhr_object.open ???????


    Merci beaucoup

    Em.

  2. #2
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par d�faut
    Yop!

    Normal que cela ne fonctionne pas quand tu passes par le GET.
    En effet, par cette m�thode, tu ne re�ois en retour que ce que la page PHP renvoie dans les "echo"

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par d�faut
    je ne comprends pas ... d�sol�

    Ce qui est dans les echo, c'est justement
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    echo "<script echo "type="text/javascript">alert ("toto")";</script>
    Si je mets
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
       echo "<input type=\"button\" value=\"afficher\" onClick=\"toto();\">";
    toto() �tant une fonction contenant alert ("toto"); alors ca marche tr�s bien mais il faut que je clique sur un bouton pour appeler la fonction toto(), ce que je ne veux pas.

    J'ai aussi essay� d'ajouter un onload sur un body dans le fichier test.php
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    echo "<body onload='toto();' ";
    echo "</body>";
    mais le onload n'est pas ex�cut�
    Je ne comprends pas pourquoi !!!!

  4. #4
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par d�faut
    Yop!

    Dans le cas d'AJAX, tu ne charges pas vraiment une page HTML (ce qui d�clencherait l'ex�cution du onLoad), tu affiches seulement des donn�es au travers d'un objet (ou d'un ActiveX pour IE).

    Si tu veux ex�cuter du script, tu dois r�cup�rer le contenu de la balise script et faire un eval() de ce contenu.

    Si tu veux ex�cuter plus simplement du script, n'utilise pas AJAX mais affiche plut�t ta page PHP dans une iframe.

    Mais les puristes te diront que c'est choisir entre la peste (eval) et le chol�ra (les iframes)

    Edit:je viens de voir un fil intitul� "Ex�cuter JS dans r�ponse Ajax" qui parle justement du probl�me qui t'occupe.

  5. #5
    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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Une solution que je trouve plus �l�gante :
    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    echo "alert ('toto')";
    Puis :
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var texte = xhr_object.responseText;
    var newJs = document.createElement('script');
    newJs.appendChild(texte);
    document.getElementsByTagName('head')[0].appendChild(nexJs);
    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

Discussions similaires

  1. [AJAX] d�tecter fin de session PHP en Javascript
    Par jason69 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 05/06/2008, 11h44
  2. R�ponses: 0
    Dernier message: 12/03/2008, 21h01
  3. R�ponses: 0
    Dernier message: 11/03/2008, 14h39
  4. [AJAX] code en javascript et php qui fonctionne sous FF et pas sous IE
    Par witch dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 21/01/2008, 12h13
  5. [AJAX] requete php dans JavaScript
    Par juliens9 dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 22/11/2007, 13h28

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