2017-01-28 2 views
0

Ich benutze PHP Mailer, ich habe dies am Ende der send mail php-Datei, so kann ich die Antwort mit einem AJAX-Formular erhalten.jQuery AJAX Umleiten zu Seite

if(!$mail->send()) { 
       $resp['errmessage'] = 'Mail error: '.$mail->ErrorInfo; 
      } else { 
       $resp['errmessage'] = 'Message sent succesfully!'; 
       $resp['status'] = 'success'; 
      } 
echo json_encode($resp); 

Ich habe diese jQuery zur Zeit:

$(document).ready(function() { 
var theForm = $(".my-form"); 
theForm.validate({ 
submitHandler: function(theForm) { 
$('#send-button').hide(); 
$('#loading-button').show(); 
$.ajax({ 
type: 'POST', 
    url: '<?php echo $domain; ?>/thefile.php', 
    success: function(response) { 
       if (response.status == 'success') { 
       $('#loading-button').html('sent'); 
      } 
      $('#loading-button').html(response.errmessage); 
       }; 
      }); 
     return false; 
} 
    }); 
}); 

Statt die Fehler- oder Statusmeldung zu geben, wenn es nur auf der Seite umgeleitet, den Fehler zu zeigen, gibt es etwas, was ich falsch mache so weit ?

Danke!

+2

Sind Sie sicher, dass der JS-Teil ausgelöst wird? klingt, als ob das Formular nur das Attribut 'action' ausführt. –

+0

Haben Sie einen Standardfehler verhindert? Was siehst du in der Konsole? –

Antwort

0

Nach dem Hinzufügen header('Content-type: application/json'); zum PHPMailer senden Sie die Datei, es hat funktioniert!