Я пытаюсь создать контактную форму с PHP и AJAX. Электронная почта отправляет и все, но он всегда говорит "Failed to send!"
даже в консоли он говорит "true"
что должно привести к HTML "Message Sent!"
Как получить возвращаемые данные из файла PHP через AJAX?
Так что я написал это в конце моего PHP скрипт:
if (!$mail->send()) {
echo $mail->ErrorInfo;
} else {
echo "true";
}
и что должно означает, что через AJAX выходные данные, которые я получаю, должны быть одним из этих, правильно?
ajax.SetText("Sending...");
$.post("sendmail.php", {
name: userName, email: userEmail, comments: userComments, business: currentBusiness, website: currentWebsite
}, function(data) {
if(data == "true") {
ajax.SetText("Sent!");
console.log(data);
$.get("sent.html", function(sentData){
$("#content").html(sentData);
});
} else {
ajax.SetText("Send mail");
console.log(data);
$.get("unsent.html", function(sentData){
$("#content").html(sentData);
});
}
ajax.isSubmiting = false;
});
Это JQuery^
Так в основном, если письмо будет отправлено, я хочу возвращение быть «истинным» и тогда я мог бы поставить необходимую Вам информацию на странице, как «Сообщение было отправлено! " Но в этом случае, если он не может отправить или преуспеть, он никогда не вернет true. Я также пробовал в файле php print_r("true")
и die("true")
, но он все еще не работает. Кто-нибудь знает, почему? Любая вещь была бы оценена, спасибо.
Я думал, что это сработает, но то же самое происходит. И в консоли он говорит правду, так что я очень потерял –
Консоль говорит правду? Вы сделали 'console.log (encodeURI (data));'? Каков результат этого? –
Я нашел проблему! Поэтому в скрипте (im, использующем PHPMailer) у меня была эта строка кода «$ mail-> SMTPDebug = 2;» и как только я удалил его, он работал безупречно. Благодаря! –