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

jQuery Discussion :

Lancer un script php avec AJAX [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Météorologiste
    Inscrit en
    Octobre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Météorologiste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 60
    Par défaut Lancer un script php avec AJAX
    Bonjour,

    J'ai créé une page où lorsque je clique sur une DIV, je souhaiterais qu'un script php se lance. Il sera différent pour chaque DIV, dans l'exemple ci-dessous, cela ouvrira une nouvelle page (je sais ce n'est pas le meilleur des exemples)

    Dans mon fichier robot.js, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $(function() {
        $("#robotDanse").on("click", function() {
            $.ajax({
                type: "GET",
                url: "/src/php/action.php",
                data: 'action=macarena'
            });
        });
    });
    Dans mon fichier action.php, j'ai :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    if(isset($_GET['action'])){
           switch ($_GET['action']){
                 case "macarena":
                 header('Location: /robot/macarena');
           }
    }

    Mais lorsque je clique sur la DIV, il ne se passe rien. Le script php ne semble pas se lancer. Pouvez-vous m'aider svp ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    as-tu bien le script d'initialisation de la bibliothèque jQuery ?

  3. #3
    Membre confirmé
    Femme Profil pro
    Météorologiste
    Inscrit en
    Octobre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Météorologiste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 60
    Par défaut
    Je pense. J'ai ajouté cette balise à la fin ma balise <body> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"
            integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
            crossorigin="anonymous"></script>
    C'est bien cela ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui.

    Mais ton script doit être APRÈS.

  5. #5
    Membre confirmé
    Femme Profil pro
    Météorologiste
    Inscrit en
    Octobre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Météorologiste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 60
    Par défaut
    C'est le cas, juste après ce script, j'ai ajouté la balise suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="/public/js/robot.js"></script>
    Par contre, je viens de voir en utilisant les outils développeur de chrome, que j'avais une erreur :
    Uncaught TypeError: $.ajax is not a function

  6. #6
    Invité
    Invité(e)
    Par défaut
    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
    <div id="robotDanse">cliquer ici</div>
     
    <!-- Script initialisation jquery -->
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"
            integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
            crossorigin="anonymous"></script>
    <script>
    $(function() {
        $("#robotDanse").on("click", function() {
            $.ajax({
                type: "GET",
                url: "/src/php/action.php", // bien vérifier le chemin
                data: 'action=macarena'
            })
            .done(function( retour ) {
    		alert( retour );
            })
            .fail(function() {
    		alert( "error" );
            });
        });
    });
    </script>

    Puisque tu dis avoir plusieurs <div>, il est possible d'utiliser les attributs data-* :

    Exemple :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div class="robotDanse" data-danse="macarena">cliquer danse 1</div>
    <div class="robotDanse" data-danse="lambada">cliquer danse 2</div>
    <div class="robotDanse" data-danse="samba">cliquer danse 3</div>
    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
    $(function() {
        $(".robotDanse").on("click", function() {
            var danse = $(this).data('danse');
            $.ajax({
                type: "GET",
                url: "/src/php/action.php", // bien vérifier le chemin
                data: 'action='+danse
            })
            .done(function( retour ) {
    		alert( retour );
            })
            .fail(function() {
    		alert( "error" );
            });
        });
    });

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

Discussions similaires

  1. Comment lancer un script PHP avec crontab ?
    Par younes2727 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 17/05/2017, 19h05
  2. [PHP 5.3] Lancer un script php avec la fonction exec
    Par Poukie dans le forum Langage
    Réponses: 1
    Dernier message: 04/10/2009, 10h42
  3. [Mail] Lancer un script PHP avec un e-mail
    Par vence dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2008, 13h30
  4. [AJAX] Lancer un script PHP au passage de la souris !
    Par DiabolO dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 31/08/2006, 23h44
  5. [Système] Lancer un script perl avec PHP
    Par pepite dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/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