无法使用PHP反序列化jQuery数据

时间:2016-07-12 14:03:44

标签: php jquery css ajax

我正在尝试实现模态AJAX表单。但是当我按“提交”时,我只会收到空的电子邮件。我想我的PHP代码中有bug。

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文件中的PHP:

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

$name = $formdata['name'];
$phone=$formdata['phone'];
$formcontent="From: $name \n Phone: $phone";
$recipient = "email@gmail.com";
$subject = "MAIL HEADER";
mail($recipient, $subject, $formcontent) or die("Error");
编辑:由于某种原因,我也没有收到“谢谢”消息。

1 个答案:

答案 0 :(得分:1)

使用ajax请求发送表单数据时出错。这是你的代码工作正常:

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;

});