действие jquery ajax при отсутствии ошибки

#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