Maison  >  Article  >  interface Web  >  Pourquoi mon formulaire chargé en AJAX n'envoie-t-il pas de données POST au script PHP ?

Pourquoi mon formulaire chargé en AJAX n'envoie-t-il pas de données POST au script PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-08 13:54:01535parcourir

Why is my AJAX-loaded form not sending POST data to the PHP script?

Problème de publication de formulaire dans le contenu chargé en AJAX

Problème :
Lors du chargement d'un formulaire à l'aide de $. load(), les données POST du formulaire ne sont pas envoyées au script PHP prévu. Au lieu de cela, la page se recharge d'elle-même.

Contexte :
AJAX (JavaScript asynchrone et XML) vous permet d'envoyer des données à un serveur sans recharger la page entière. Généralement, cela est réalisé à l'aide de XMLHttpRequest.

Solution :
Connaissez-vous AJAX ? Sinon, clarifions sa fonctionnalité :

AJAX vous permet de publier des données dans un fichier PHP externe, qui les traite et renvoie une réponse. Le processus implique :

  1. Envoi de données :

    • Utilisez $.ajax() avec le type : "POST" et l'url spécifiant le Fichier PHP dans lequel publier.
    • Inclure les données dans le paramètre data sous forme de chaîne avec valeur-clé paires.
  2. Traitement des données :

    • Dans le fichier PHP, utilisez $_POST pour récupérer les données publiées.
  3. De retour Réponse :

    • Lorsque le fichier PHP termine le traitement, il renvoie une réponse au JavaScript.

Exemple :

main_file.html :

<script>
  $(document).ready(function() {
    $('#myForm').submit(function(event) {
      event.preventDefault(); // Prevent page reload
      var data = $(this).serialize(); // Serialize form data

      $.ajax({
        type: "POST",
        url: "process_form.php",
        data: data,
        success: function(response) {
          // Handle the response from the PHP file
        }
      });
    });
  });
</script>

<form>

process_form.php :

<?php
  $name = $_POST['name']; // Get the posted name value

  // Process the data

  // Return a response
  echo "Name: $name";
?>

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