К сообщению при нажатии кнопки не добавляются стили, при ошибке сообщение зеленое, как понимаю не отрабатывается функция fail_func, как грамотно решить вопрос?
<div class="form">
<div id="result" class="sent-message alert alert-success alert-danger"></div>
</div>
.sent-message {
display: none;
color: #fff;
background: #18d26e;
text-align: center;
padding: 15px;
font-weight: 600;
}
(function ($) {
'use strict';
var form = $('#post-form'),
message = $('#result'),
button = $('#button'),
form_data;
// success function
function done_func(response) {
message.fadeIn().removeClass('alert-danger').addClass('alert-success');
message.text(response);
setTimeout(function () {
message.fadeOut();
}, 5000);
}
// fail function
function fail_func(response) {
message.fadeIn().removeClass('alert-success').addClass('alert-danger');
message.text(response);
setTimeout(function () {
message.fadeOut();
}, 5000);
}
form.submit(function (e) {
e.preventDefault();
form_data = $(this).serialize();
$.ajax({
type: 'POST',
url: form.attr('action'),
data: form_data,
})
.done(done_func, form[0].reset())
.fail(fail_func);
});
})(jQuery);
@routes.post('/submit_message')
async def message_form(request):
data = await request.post()
email, message = data['email'], data['message']
try:
await bot.send_message(BOT['id'], text=f'{email}\n{message}')
return web.Response(text="Сообщение отправлено")
except Exception as e:
return web.Response(text="Повторите попытку")