У меня есть модал начальной загрузки, который я показываю, когда пользователь нажимает кнопку отправки
<div class="modal fade" id="pleaseWaitDialog" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" th:fragment="signupSuccessMessageModalFragment">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-dialog modal-sm">
<div class="modal-content" style="width: 48px">
<span class="fa fa-spinner fa-spin fa-3x"></span>
</div>
</div>
</div>
</div>
Вот код JavaScript, когда пользователь нажимает кнопку
$('#registerUser').click(function(event) {
event.preventDefault();
var pleaseWait = $('#pleaseWaitDialog');
var developerData = {};
developerData["userName"] = $("#userName").val().trim();
developerData["email"] = $("#email").val().trim();
pleaseWait.modal('show');
$.ajax({
type : 'POST',
contentType : "application/json",
url : '/signup',
data : JSON.stringify(developerData),
dataType : 'json'
}).done(function(result) {
window.location.replace("/signup_success?email="+email);
window.setTimeout(function(){
// Move to a new location or you can do something else
window.location.href = "https://www.google.co.in";
}, 5000);
}).fail(function(result) {
pleaseWait.modal('hide');
var errors = $.parseJSON(result.responseJSON.message);
$.each(errors, function(key, value) {
var divid = "#" + value.field + "Error";
$("#"+value.field+"Error").show().append(value.defaultMessage+"<br/>");
});
}).always(function() {
pleaseWait.modal('hide');
})
});
Перед запуском запроса запускается модал начальной загрузки (#pleaseWaitDialog) и появляется спиннер ajax. Но модальный режим не закрывается при сбое запроса [pleaseWait.modal ('hide'); // Не работает]. Что мне здесь не хватает? Спасибо
обновление - вот моя скрипка, содержащая полный код, она не работает, так как я новичок в jsfiddle и мой код выполняет запрос проверки на стороне сервера (работает над ним) jsfiddle
Мои требования
1. Пользователь нажимает на кнопку «Создать учетную запись» -> вращение начинает отображаться
2. В случае сбоя прядильщик должен прятаться
3. В случае успеха страница перенаправляется на страницу успешной регистрации, поэтому счетчик автоматически скрывает