Heim >Backend-Entwicklung >PHP-Tutorial >Warum sendet mein jQuery-serialisiertes Formular keine Daten an mein PHP-Skript?

Warum sendet mein jQuery-serialisiertes Formular keine Daten an mein PHP-Skript?

Barbara Streisand
Barbara StreisandOriginal
2024-11-02 22:25:03515Durchsuche

Why is my jQuery serialized form not sending data to my PHP script?

Serialisieren und Senden eines Formulars mit jQuery und PHP

Problem:

Ein serialisiertes Formular Bei Verwendung von jQuery können keine Daten an ein PHP-Skript gesendet werden. Der Server empfängt keine Daten.

HTML-Formular:

`




`

JavaScript:

<code class="javascript">$("#contactForm").submit(function() {
  $.post("getcontact.php", $("#contactForm").serialize())
    .done(function(data) {
      // handle response
    });

  return false;
});</code>

Serverseitiges PHP (getcontact.php):

<code class="php">$nume = $_REQUEST["nume"]; // empty
$email = $_REQUEST["email"]; // empty
$telefon = $_REQUEST["telefon"]; // empty
$comentarii = $_REQUEST["comentarii"]; // empty</code>

Lösung:

Ersetzen Sie den jQuery.post()-Code durch Folgendes:

<code class="javascript">var datastring = $("#contactForm").serialize();
$.ajax({
  type: "POST", // method
  url: "your url.php", // action
  data: datastring, // form data
  dataType: "json", // expected response type
  success: function(data) {
    // handle response
  },
  error: function() {
    // handle error
  }
});</code>

Zusätzliche Hinweise:

  • Setzen Sie dataType auf „jsonp " für domänenübergreifende Anfragen.
  • Verwenden Sie beforeSend und vollständige Rückrufe für Aktionen vor und nach der Anfrage.
  • Erwägen Sie die Verwendung von async: false für synchrone Anfragen.
  • Deaktivieren Caching mit Cache: false.
  • Weitere Informationen finden Sie in der offiziellen Dokumentation.

Update

  • var_dump($_POST ) sollte ein leeres Array zurückgeben.
  • Das Problem kann serverbedingt sein, z. B. eine falsch konfigurierte PHP.ini-Datei oder deaktivierte Datei-Uploads.

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

Stellungnahme:
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