Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exécuter un script php avec ajax

Exécuter un script php avec ajax

    28 mai 2017 à 11:23:15

    Bonjour les amis,

    Voilà je souhaiterai appeler mon script php via ajax.. Mais je n'y arrive pas.. Mon script PHP fonctionne correctement quand je ne l'appelle pas via ajax...

    Quand je prends le devtools je n'ai même aucune erreur mais rien ne ce passe.. Une idée???

    Donc mon bute est bien de m'envoyer un mail.. Mais en exécutant mon script php via ajax.

    HTML:

    <button id="clickMe" onClick="clickMe">Test tin</button>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> 
    <script>
    $("#clickMe").click(function(){
         
        $.ajax({
           url : 'test.php', // La ressource ciblée
           type : 'GET' // Le type de la requête HTTP.
        });
       
    });
    </script>

    et php:

    <?
    				$to = "mon email";
    				$subject = "Test ajax";
    				$message='Test ajax';
    				$headers = 'From: Test ajax' . "\r\n" .'Reply-To: mon email' . "\r\n" .'X-Mailer: PHP/' .'MIME-Version: 1.0' . "\r\n";
    				$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
    				mail($to, $subject, $message, $headers);
    ?>

    D'avance merci aux personnes qui pourrons m'aider :)

    • Partager sur Facebook
    • Partager sur Twitter
    Touché c'est toi le chat!
      28 mai 2017 à 13:15:47

      Sur jsffidle avec ton code, la requête ajax est bien envoyée: https://jsfiddle.net/52mxs5bw/1/

      Tu n'a vraiment pas d'erreur javascript dans la console ?

      Je ne sais pas quel doctype tu utilise pour ta page, mais tu devrais ajouter type="text/javascript" dans ta balise script pour être safe.

      -
      Edité par MarlburroW 28 mai 2017 à 13:20:29

      • Partager sur Facebook
      • Partager sur Twitter
        28 mai 2017 à 14:28:27

        Bonjour,

        Tu devrais vérifier le type de la requête ainsi que la valeur de retour de la fonction qui envoie le mail.

        <?
        
            if ("GET" === $_SERVER["REQUEST_METHOD"]) {
                $to         = "mon email";
        
                $subject    = "Test ajax";
        
                $message    = 'Test ajax';
        
                $headers    = 'From: Test ajax' . "\r\n" .'Reply-To: mon email' . "\r\n" .'X-Mailer: PHP/' .'MIME-Version: 1.0' . "\r\n";
                $headers   .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
        
                $sucess = mail($to, $subject, $message, $headers);
        
                if ($success) {
                    http_response_code(201);
        
                    echo "Created";
                } else {
                    http_response_code(500);
        
                    echo "Internal Server Error"
                }
            } else {
                http_response_code(400);
        
                echo "Bad Request";
            }

        Et ensuite vérifier en AJAX que la requête à bien fonctionnée.

        "use strict";
        
        const windowOnLoad = event => {
            fetch("/test.php")
                .then(response => console.log(response))
                .catch(error => console.log(error));
        };
        
        window.addEventListener("load", windowOnLoad);
        • Partager sur Facebook
        • Partager sur Twitter

        Exécuter un script php avec ajax

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown