Utilisation des rappels de requête AJAX dans jQuery : extraction de données spécifiques
Lors de l'utilisation des fonctionnalités AJAX de jQuery, il est courant de rencontrer des situations dans lesquelles vous souhaitez effectuer traitement supplémentaire basé sur les résultats de l'appel AJAX. Cet article vous guidera à travers la meilleure approche pour extraire des données spécifiques d'une réponse AJAX.
Exemple de scénario
Considérons l'extrait de code suivant :
$.post("convertNum.php", {"json": json}).done(function (data) { alert(data); } );
Dans cet exemple, la fonction de rappel effectuée reçoit l'intégralité de la réponse de l'appel AJAX sous forme de données. Cela inclut le nombre qui a été doublé, mais cela apporte également le code HTML qui a généré la page.
Séparer la réponse PHP
Pour résoudre ce problème, la meilleure solution est de séparez la réponse PHP en deux parties. Créez un nouveau fichier PHP qui gère uniquement le calcul du nombre doublé. Par exemple, un fichier nommé process.php ressemble à ceci :
<?php $num = $_POST['json']['number']; if (isset($num)) echo $num * 2;
Modification de l'appel AJAX
Maintenant, l'appel AJAX doit être modifié pour pointer vers le fichier process.php à la place. Le nouvel appel AJAX ressemble à ceci :
$.post("process.php", {"json": json}).done(function (data) { $('#numReturn').val(data); // Update the field with the doubled number });
Fonction de rappel
Dans la fonction de rappel, le paramètre data est le nombre doublé qui a été renvoyé par le processus. fichier php. Vous pouvez désormais utiliser ces données pour effectuer des traitements supplémentaires, comme la mise à jour d'un champ dans votre formulaire. Dans cet exemple, nous mettons à jour le champ de saisie #numReturn avec le nombre doublé.
Conclusion
Séparer la réponse PHP en deux parties nous permet d'extraire des données spécifiques du Réponse AJAX. Cette approche est efficace, élégante et favorise la réutilisabilité du code et la séparation des préoccupations.
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!