AJAX的形式得到提交,但没有任何反应

问题描述:

,因此我从一个Ajax请求提交此表和它的做工精细唯一的事情是,有提交AJAX的形式得到提交,但没有任何反应

这里没有响应的回调是我的代码:

//index.html 
<form method="POST" id="myForm" action="sendmail.php"> 
    <input type="text" name="sender_email" placeholder="Email" required=""> 
    <textarea placeholder="Message" name="message" required=""></textarea> 
    <input type="submit" name="send" value="SEND"> 
</form> 
$(document).ready(function() { 
    $("#myForm").on('submit', function(event) { 
    event.preventDefault(); 
    var formData = $(this).serialize(); 
    $.ajax({ 
     type: 'POST', 
     url: 'sendmail.php', 
     dataType: "json", 
     data: formData, 
     success: function(response) { 
     alert("Mail sent"); // no callback here 
     }, 
     error: function(xhr, status, error) { 
     console.log(xhr); 
     } 
    }); 
    }); 
}); 

我的PHP:

<?php 
    ini_set('display_errors', 1); 
    ini_set('display_startup_errors', 1); 
    error_reporting(E_ALL); 
    if(isset($_POST['message'])){ 
     $to  = '[email protected]'; 
     $subject = $_POST['subject']; 
     $message = $_POST['message']; 
     $headers = "From: ".$_POST['sender_nam‌​e​']." <".$_POST['sender_em‌​ail‌​'].">\r\n"; $headers = "Reply-To: ".$_POST['sender_ema‌​il‌​']."\r\n"; 
     $headers = "Content-type: text/html; charset=iso-8859-1\r\n"; 
     'X-Mailer: PHP/' . phpversion(); 
     if(mail($to, $subject, $message, $headers)) { 
    echo json_encode(["success" => true]); 
    } else {echo json_encode(['success'=>false]); 
    } 
     exit; 
    } 
    ?> 

任何人都可以指出什么是错在这里?

+0

我正在检查我的php代码,好的,然后在哪里检查? –

您指的是sendmail.php文件中的$_POST['subject'], $_POST['sender_nam‌​e​'], $_POST['sender_nam‌​e​'],但不是通过您的表单发送这些文件。这就是为什么PHP抛出警告,你没有得到任何有效的Ajax响应。