Maison > interface Web > js tutoriel > 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
Libérer: 2024-11-08 13:54:01
original
707 Les gens l'ont consulté

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>
Copier après la connexion

process_form.php :

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

  // Process the data

  // Return a response
  echo "Name: $name";
?>
Copier après la connexion

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal