Heim > Web-Frontend > js-Tutorial > Warum sendet mein mit AJAX geladenes Formular keine POST-Daten an das PHP-Skript?

Warum sendet mein mit AJAX geladenes Formular keine POST-Daten an das PHP-Skript?

Susan Sarandon
Freigeben: 2024-11-08 13:54:01
Original
606 Leute haben es durchsucht

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

Problem beim Posten von Formularen in AJAX-geladenen Inhalten

Problem:
Beim Laden eines Formulars mit $. Load() werden die POST-Daten des Formulars nicht an das vorgesehene PHP-Skript gesendet. Stattdessen lädt sich die Seite neu.

Hintergrund:
AJAX (Asynchronous JavaScript and XML) ermöglicht es Ihnen, Daten an einen Server zu senden, ohne die gesamte Seite neu zu laden. Normalerweise wird dies mit XMLHttpRequest erreicht.

Lösung:
Kennen Sie AJAX? Wenn nicht, klären wir die Funktionalität:

AJAX ermöglicht es Ihnen, Daten in eine externe PHP-Datei zu posten, die sie verarbeitet und eine Antwort zurückgibt. Der Prozess umfasst:

  1. Senden von Daten:

    • Verwenden Sie $.ajax() mit dem Typ „POST“ und der URL, die Folgendes angibt PHP-Datei zum Posten.
    • Fügen Sie Daten als Zeichenfolge mit Schlüssel-Wert-Paaren in den Datenparameter ein.
  2. Daten werden verarbeitet:

    • Verwenden Sie in der PHP-Datei $_POST, um die geposteten Daten abzurufen.
  3. Rückgabeantwort:

    • Wenn die PHP-Datei die Verarbeitung abschließt, gibt sie eine Antwort an das JavaScript zurück.

Beispiel:

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>
Nach dem Login kopieren

process_form.php:

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

  // Process the data

  // Return a response
  echo "Name: $name";
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum sendet mein mit AJAX geladenes Formular keine POST-Daten an das PHP-Skript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage