#javascript #jquery #ajax
#javascript #jquery #ajax
Вопрос:
Я не понимаю, что не так с моей логикой. У меня есть типичная форма, которую я использую ajax для отправки данных.
$('#contactForm').on('submit',function(e){
var formMsg = $('#contactFormReturnMsg');
formMsg.empty();
e.preventDefault();
$.post('contact.php', $('#contactForm').serialize(),function(data){
if(data.error){
formMsg.append(data.error);
}else{
formMsg.append("Email received!");
}
},"json");
});
Когда у меня возникает ошибка, я получаю сообщения об ошибках, добавленные правильно. Если у меня нет ошибки, я не вижу, как выполняется оператор else. Почему это так?
Комментарии:
1. Есть ли какие-либо ошибки консоли?
2. Ошибок нет. Журнал консоли в else{} также не отображается.
3. Опубликовать содержимое данных, когда data.error не существует
4. Ну, я полагаю, я не получу никакого содержимого данных, потому что на моей стороне php единственное эхо, которое у меня есть, — это ошибки. ie: echo json_encode($error); Я понимаю, что могу решить эту проблему, отправив сообщение об успешном завершении с PHP, но я не понимаю, зачем мне это нужно.
5. Вы всегда должны возвращать значение, например success: true/false . Затем вы можете проверить, если data.success = false, показать data.error