2016-11-25 84 views
0

,因此我從一個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代碼,好的,然後在哪裏檢查? –

回答

1

您指的是sendmail.php文件中的$_POST['subject'], $_POST['sender_nam‌​e​'], $_POST['sender_nam‌​e​'],但不是通過您的表單發送這些文件。這就是爲什麼PHP拋出警告,你沒有得到任何有效的Ajax響應。