Я думаю, что ваша проблема в том, что вы пытаетесь использовать метод сериализации неправильно.
Метод .serialize()
будет обрабатывать все поля, которые находятся внутри выбранной целевой формы.В исходном коде вы использовали метод .val()
для получения значений формы, но это не сработает, поскольку этот метод предназначен для использования с одним элементом формы и не можетобрабатывать всю форму.
Измените свой код следующим образом:
$(document).ready(function(){
$('#contact_form').on('submit', function(e){
e.preventDefault();
var form = $("#contact_form");
$.ajax({
type : 'POST',
url : 'email.php',
data : form.serialize(),
success: function (response) {
alert(response);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
});
});