Обратите внимание, что вы на самом деле не делаете отправку - вы просто замечаете, что форма была отправлена.Если вы хотите иметь истинный статус успеха / неудачи в этой отправке, вы можете перехватить процесс отправки форм и заменить свой собственный.
Это взято из соответствующего вопроса , но адаптированный для вашего использования.
$("#myform").submit(function(event) {
// Hijack the form submit. We want to control this ourselves.
event.preventDefault();
// get the form field values
var email = $('#email').val(),
message = $('#message').val();
// Do we have both an email and message? If not, alert and stop.
if(!email.length>0 && !message.length>0){
alertify.error("Please enter an email and message.");
return false;
}
// I like to use defers :)
// submit our post data, and include the form values as the POST body
deferred = $.post("http://somewhere.com", { email: email, message: message });
// Having hijacked the POST process, we have the success callbacks
deferred.success(function () {
alertify.success('SENT SUCCESSFULLY!');
});
// also, if the POST failed, we can notify the user of that.
deferred.error(function () {
// Handle any errors here.
});
});
Подробнее о jQuery.post () здесь.Кроме того, немного больше об отсрочке или об обещаниях.Javascript извлек некоторые уроки из того, как обстоят дела с jQuery, и добавил средство для настройки действия, которое может занимать некоторую неопределенную задержку - часто общаясь с сервером.
Javascript дает нам Обещание, которое очень похоже на размещение заказа в закусочной.Вы кладете в свою квитанцию, затем ждете, чтобы услышать «Order UP !!».В этот момент, когда ваша еда готова, ваша официантка принесет вам еду.Если заказ идет ужасно неправильно (скажем, массовый запуск на беконе), заказ все равно будет выполнен, но с ошибкой, и в этот момент придет ваша официантка и сообщит вам об этом.
$. Post (...) использует обещания.Таким образом, мы можем добавить обработчик .success (...) для завершенного Promise и обработчик .error (...) для сбоя Promise.
Я действительно рекомендую прочитать документы MDN по Promises,и, в частности, fetch (...).