Maison  >  Article  >  développement back-end  >  Soumission de formulaire PHP : soumission asynchrone AJAX et traitement des données

Soumission de formulaire PHP : soumission asynchrone AJAX et traitement des données

王林
王林original
2023-08-07 17:30:271012parcourir

Soumission de formulaire PHP : soumission asynchrone AJAX et traitement des données

Soumission de formulaire PHP : soumission asynchrone AJAX et traitement des données

Avec le développement des applications Web, la soumission de formulaires est devenue l'un des maillons importants du développement de sites Web. La méthode traditionnelle de soumission de formulaire consiste à terminer l’envoi et le traitement des données en actualisant la page. Cependant, cette méthode entraînera l’actualisation de la page, donnant aux utilisateurs une mauvaise expérience. Afin d'améliorer l'expérience utilisateur et les performances du site Web, nous pouvons utiliser la technologie AJAX pour la soumission de formulaires et le traitement des données asynchrones.

Cet article expliquera comment utiliser la technologie PHP et AJAX pour implémenter la soumission asynchrone et le traitement des données des formulaires, et fournira des exemples de code correspondants.

Soumission asynchrone AJAX des données du formulaire

Tout d'abord, nous devons créer un formulaire HTML et ajouter un bouton pour la soumission asynchrone. L'exemple de code est le suivant :

<form id="myForm">
  <input type="text" name="name" placeholder="姓名" required>
  <input type="email" name="email" placeholder="邮箱" required>
  <input type="number" name="age" placeholder="年龄" required>
  <button type="button" id="submitBtn">提交</button>
</form>

Dans l'exemple ci-dessus, nous utilisons un formulaire avec l'identifiant "myForm" et ajoutons un attribut avec l'identifiant "submitBtn" au bouton de soumission.

Ensuite, nous devons utiliser JavaScript pour écouter l'événement de clic sur le bouton et envoyer les données du formulaire au serveur. L'exemple de code est le suivant :

document.getElementById("submitBtn").addEventListener("click", function() {
  var form = document.getElementById("myForm");
  var formData = new FormData(form);
  var xhr = new XMLHttpRequest();
  xhr.open("POST", "process.php", true);
  xhr.send(formData);
});

Dans l'exemple ci-dessus, nous avons utilisé la méthode addEventListener pour écouter les événements de clic sur un bouton. Lorsque vous cliquez sur le bouton, nous utilisons l'objet FormData pour collecter les données du formulaire et créons un objet XMLHttpRequest pour envoyer les données au serveur.

Traitement des données PHP

Le côté serveur traite les données du formulaire reçues et renvoie les résultats correspondants. Nous pouvons traiter les données du formulaire dans un nouveau fichier PHP. L'exemple de code est le suivant :

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$age = $_POST['age'];

// 对表单数据进行进一步处理,比如存储到数据库

// 返回处理结果
$response = array("success" => true, "message" => "表单数据提交成功!");
echo json_encode($response);
?>

Dans l'exemple ci-dessus, nous obtenons les données du formulaire via la variable globale $_POST. Ensuite, nous pouvons effectuer davantage de traitements sur les données du formulaire, comme vérifier la validité des données, stocker les données dans la base de données, etc.

Enfin, nous utilisons l'instruction echo pour renvoyer une chaîne JSON contenant les résultats du traitement pour le traitement correspondant dans la page front-end.

Traitement des données front-end

Dans la page front-end, nous pouvons ajouter un élément pour afficher les résultats du traitement. L'exemple de code est le suivant :

<div id="result"></div>

Dans le code JavaScript, on peut obtenir les données renvoyées par le serveur en écoutant l'événement readystatechange de l'objet XMLHttpRequest, et afficher les résultats sur la page. L'exemple de code est le suivant :

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    var result = JSON.parse(xhr.responseText);
    var message = result.message;
    document.getElementById("result").innerHTML = message;
  }
};

Dans l'exemple ci-dessus, nous utilisons l'attribut readyState et l'attribut status pour déterminer si la demande est terminée. Si elle est terminée et que la réponse est réussie, nous utilisons la méthode JSON.parse pour analyser. la chaîne JSON renvoyée par le serveur et afficher le résultat sur la page.

À ce stade, nous avons terminé tout le processus d'utilisation d'AJAX pour soumettre de manière asynchrone les données du formulaire et les traiter côté serveur. De cette manière, les utilisateurs n'ont pas besoin d'attendre l'actualisation de la page et peuvent obtenir les résultats du traitement des données en temps réel, ce qui améliore l'expérience utilisateur et les performances du site Web.

Conclusion

Cet article explique comment utiliser les technologies PHP et AJAX pour implémenter la soumission asynchrone et le traitement des données des formulaires, et donne des exemples de code correspondants. J'espère que cela vous aidera au développement de votre site Web !

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