#javascript #ajax
#javascript #ajax
Вопрос:
У меня проблема в том, что я получаю данные из формы «Свяжитесь с нами» и отправляю их в PHP-файл через ajax, чтобы отправить электронное письмо отправителю, который отправляет, но мне нужно отобразить ему сообщение с подтверждением на сайте, и оповещение или любой код в функции успеха не работает, хотя электронное письмо отправляетсявот моя функция
function SendMail(){
// document.getElementById("loading").style.display = "block";
var name = document.getElementById("name").value;
var email = document.getElementById("email").value;
var subject = document.getElementById("subject").value;
var message = document.getElementById("message").value;
var Sent = false;
$.ajax({
url:"SendMail.php",
type:"post",
dataType: "json",
data: {type: "contact",name : name , email: email, subject: subject , message : message},
success : function(data){
alert("We Recieved Your Message and will get back as soon as possible");
}
});
}
Комментарии:
1. Вы подтвердили
success
, что правильно выполнили обратныйconsole.log
вызов?2. он ничего не выводит!! и я действительно не знаю, почему он не входит в функцию успеха, хотя в файле PHP все идет хорошо
3. Причина в том, что если ajax не был успешным, вы можете добавить обратные вызовы, которые обрабатывают ошибки
4. как уже было сказано дважды, добавьте
error:
обратный вызов к ошибкам отладки5. итак, ваш PHP не отвечает действительным JSON — поскольку вы ожидаете JSON (в соответствии с вашим типом данных) — решаемая