Спиннер Ajax не скрывается, когда запрос ajax завершается или завершается неудачно - PullRequest
0 голосов
/ 14 мая 2019

У меня есть модал начальной загрузки, который я показываю, когда пользователь нажимает кнопку отправки

<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. В случае успеха страница перенаправляется на страницу успешной регистрации, поэтому счетчик автоматически скрывает

...