Maison >développement back-end >tutoriel php >Comment utiliser AJAX pour appeler des fonctions PHP lors de clics sur des boutons ?
Comment utiliser AJAX pour déclencher des fonctions PHP lors de clics sur des boutons
Dans votre scénario, vous essayez d'exécuter des fonctions PHP lors de clics sur des boutons sur la page 'functioncalling.php'. Cependant, vous rencontrez des problèmes avec le rendu du résultat. En effet, les fonctions PHP ne peuvent pas être appelées directement via les soumissions de formulaires HTML. Vous devez utiliser Ajax pour combler le fossé.
Marquage HTML révisé et code jQuery
Mettez à jour votre balisage HTML comme suit :
<input type="submit" class="button" name="insert" value="insert" /> <input type="submit" class="button" name="select" value="select" />
Ensuite, ajoutez le code jQuery suivant :
$(document).ready(function() { $('.button').click(function() { var clickBtnValue = $(this).val(); var ajaxurl = 'ajax.php', data = {'action': clickBtnValue}; $.post(ajaxurl, data, function (response) { // Response div goes here. alert("action performed successfully"); }); }); });
Le Fichier 'ajax.php'
Créez un fichier 'ajax.php' avec le code suivant :
<?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; } ?>
Comprendre le mécanisme AJAX
Lorsqu'un utilisateur clique sur l'un des boutons, le code jQuery déclenche une requête AJAX pour 'ajax.php'. Le paramètre 'action' contient la valeur du bouton cliqué ("insert" ou "select"). La méthode '.post()' envoie ces données à 'ajax.php', qui exécute la fonction PHP correspondante en fonction de la valeur 'action'. La sortie de la fonction PHP est capturée et affichée de manière appropriée dans votre div de réponse.
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!