Maison >développement back-end >tutoriel php >Comment puis-je exécuter des fonctions PHP en cliquant sur un bouton en utilisant AJAX ?

Comment puis-je exécuter des fonctions PHP en cliquant sur un bouton en utilisant AJAX ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-10 13:57:11376parcourir

How Can I Execute PHP Functions with a Button Click Using AJAX?

Appeler des fonctions PHP lors d'un clic sur un bouton

Pour appeler une fonction PHP lorsqu'un bouton est cliqué, nous devons utiliser Ajax, comme le montre la solution suivante :

Marquage révisé :

Mise à jour le balisage du bouton comme suit :

<input type="submit">

jQuery :

$(document).ready(function() {
    $('.button').click(function() {
        var clickBtnValue = $(this).val();
        var ajaxurl = 'ajax.php';
        var data = { 'action': clickBtnValue };
        $.post(ajaxurl, data, function(response) {
            // Response div goes here.
            alert("action performed successfully");
        });
    });
});

ajax.php :

<?php
if (isset($_POST['action'])) {
    switch ($_POST['action']) {
        case 'insert':
            insert();
            break;
        case 'select':
            select();
            break;
    }
}

function select() {
    echo "The select function is called.";
    exit;
}

function insert() {
    echo "The insert function is called.";
    exit;
}
?>

Explication :

  • Le balisage révisé du bouton ajoute une classe "bouton" aux deux boutons, les rendant compatibles avec jQuery.
  • Le code jQuery déclenche un appel Ajax lorsqu'un bouton avec la classe "bouton" est cliqué.
  • La requête Ajax envoie la valeur du bouton cliqué au fichier ajax.php.
  • Dans ajax.php, nous traitons l'action en fonction de la valeur reçue. Il appelle la fonction insert() ou select() correspondante, imprime le résultat et quitte le script.
  • Lorsque l'appel Ajax réussit, la réponse d'ajax.php est ignorée et un message d'alerte s'affiche. sur la page d'appel.

Notez que cette technique est asynchrone. Une fois le bouton cliqué, la requête Ajax est envoyée en arrière-plan et l'action n'est effectuée que lorsque la réponse du serveur est reçue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn