Heim > Artikel > Backend-Entwicklung > Warum erreichen meine jQuery-serialisierten Formulardaten den PHP-Server nicht?
Serialisierung und Übermittlung eines Formulars mit jQuery und PHP
Problem: Trotz der Serialisierung von Formulardaten mit jQuery sind die Daten Erreicht den Server nicht.
HTML-Formular:
<code class="html"><form id="contactForm" name="contactForm" method="post"> <input type="text" name="nume" size="40" placeholder="Nume"> <input type="text" name="telefon" size="40" placeholder="Telefon"> <input type="text" name="email" size="40" placeholder="Email"> <textarea name="comentarii" cols="36" rows="5" placeholder="Message"></textarea> <input id="submitBtn" type="submit" name="submit" value="Trimite"> </form></code>
JavaScript:
<code class="javascript">$("#contactForm").submit(function(e) { e.preventDefault(); // Prevent browser submission $.post("getcontact.php", $("#contactForm").serialize()) .done(function(data) { // Process server response }); });</code>
Server -Side PHP (getcontact.php):
<code class="php">$nume = $_POST["nume"]; $email = $_POST["email"]; $telefon = $_POST["telefon"]; $comentarii = $_POST["comentarii"];</code>
Problemlösung:
Das Problem entsteht durch die Verwendung der Transportmethodenoption in $.post( ) (in jQuery 3.0 veraltet). Verwenden Sie stattdessen $.ajax() mit den folgenden Einstellungen:
<code class="javascript">$.ajax({ type: "POST", url: "getcontact.php", data: $("#contactForm").serialize(), dataType: "json", success: function(data) { // Process server response }, error: function() { // Handle errors } });</code>
In diesem aktualisierten Code:
Das obige ist der detaillierte Inhalt vonWarum erreichen meine jQuery-serialisierten Formulardaten den PHP-Server nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!