PHP sendmail 表单正在发送空白电子邮件,如何修复 java 脚本?

PHP sendmail form is sending blank e-mail, how can I fix java script?

我一整天都在为 sendmail.php 烦恼。首先,我无法收到电子邮件,我修复了它,然后开始收到空白的电子邮件。我明白问题不是 php 代码或 html 代码,问题是 java 附加到联系表格的脚本。

var form = $('#main-contact-form');
form.submit(function(event){
    event.preventDefault();
    var form_status = $('<div class="form_status"></div>');
    $.ajax({
        url: $(this).attr('action'),
        beforeSend: function(){
            form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() );
        }
    }).done(function(data){
        form_status.html('<p class="text-success">Thank you for contact us. As early as possible  we will contact you</p>').delay(3000).fadeOut();
    });
});

这是发送空白电子邮件的代码。我读了一个类似问题的答案,我知道我应该使用它;

var form = $('.contact-form');
form.submit(function () {
    $this = $(this);
    $.post($(this).attr('action'),$(this).serialize(), function(data) {

当我将推荐代码更改为我的代码时,我开始收到带有名称主题和消息的电子邮件,但是在单击 "Send Now" 按钮页面后变成空白,而不是将消息显示为 "Thank you for contact us. As early as possible we will contact you"

所以我想我无法合并以更正我的代码。谁能帮我把 $.post($(this).attr('action'),$(this).serialize(), function(data) { 添加到我的脚本中? 提前致谢

您可以随时使用您的代码,但需要进行两处更改,将 "method" 添加到您的 ajax 请求,以及一些要发送到服务器的数据。还要确保您正在使用 php 文件

中的 POST 值
    var form = $('#main-contact-form');
form.submit(function(event){
    event.preventDefault();
    var form_status = $('<div class="form_status"></div>');
    $.ajax({
        url: $(this).attr('action'),
        method: 'post',
        data: $(this).serialize(),
        beforeSend: function(){
            form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() );
        }
    }).done(function(data){
        form_status.html('<p class="text-success">Thank you for contact us. As early as possible  we will contact you</p>').delay(3000).fadeOut();
    });
});