2016-07-12 4 views
0

Ich versuche ein modales AJAX-Formular zu implementieren. Aber wenn ich "Submit" drücke, erhalte ich nur leere Body-E-Mails. Ich denke, ich habe Fehler in PHP-Code.jQuery-Daten können nicht mit PHP enteralisiert werden

HTML:

<form class="form" method="POST"> 
    <input type="text" name="name" placeholder="Name"> 
    <input type="text" name="phone" placeholder="Phone"> 
    <input type="submit" value="Submit" > 
</form> 

JQuery:

$(".form").submit(function() { 
    var this1= $(this); 
    var form_data = $(this).serialize(); 
    if (is_empty(this1)){ 
     $.ajax({ 
      type: "POST", 
      url: "feedback.php", 
      data: form_data, 
      success: function (res) { 
       swal("Thank you", "very much", "success"); 
       $('.black_layout').fadeOut(200); 
       $('.main_form_wrapper').fadeOut(200); 
       this1.trigger('reset'); 
      } 
     }); 
    } 
    return false; 
}); 

PHP in feedback.php Datei:

parse_str($_POST['form_data'], $formdata); 

$name = $formdata['name']; 
$phone=$formdata['phone']; 
$formcontent="From: $name \n Phone: $phone"; 
$recipient = "[email protected]"; 
$subject = "MAIL HEADER"; 
mail($recipient, $subject, $formcontent) or die("Error"); 

EDIT: Ich bekomme auch nicht ein "Danke" Nachricht für irgendein Grund.

+0

Sie senden nur die Daten, wenn 'is_empty (this1)'. Ist es das was du willst? – Ben

+0

Schauen Sie sich die geposteten Daten im Rohzustand an, Sie sollten in der Lage sein herauszufinden, wo Sie falsch liegen. –

Antwort

1

Sie haben einen Fehler beim Senden von Formulardaten mit Ajax-Anfrage. hier ist der Code, der fein arbeitet:

JQuery:

$(".form").submit(function() { 
var this1= $(this); 
var form_data = $(this).serialize(); 
alert(form_data); 
//if (is_empty(this1)){ 
    $.ajax({ 
     type: "POST", 
     url: "feedback.php", 
     data: {'form_data' : form_data }, 
     success: function (res) { alert(res); 
      //swal("Thank you", "very much", "success"); 
      $('.black_layout').fadeOut(200); 
      $('.main_form_wrapper').fadeOut(200); 
      this1.trigger('reset'); 
     } 
    }); 
//} 
return false; 

});

Verwandte Themen