User 10734264 Ответов: 1

Как показать всплывающее окно при нажатии кнопки?


Я рассчитываю проценты, поэтому это занимает время от 10 минут до 1 часа, поэтому я хочу показать всплывающее окно с вращающимся изображением с текстовыми деталями до тех пор, пока расчет не будет завершен.
После завершения расчета автоматически закройте всплывающее окно.

Кроме того, во время загрузки всплывающего окна я тоже хочу обновить всплывающий текст из базы данных, если это возможно, с показом оставшихся и вычисленных деталей.

Что я уже пробовал:

Я не мог закончить. Пожалуйста, помогите мне с образцом кода или примером.

PeejayAdams

Я бы начал с рассмотрения вопроса о том, почему так много времени уходит на выполнение вычислений.

Richard Deeming

Пользователи в интернете непостоянны. Никто не будет ждать 10 минут, пока ваш сайт "подсчитает проценты", не говоря уже о часе!

Как сказал Пиджей, почему ваши расчеты занимают так много времени?

User 10734264

Это занимает много времени, потому что есть более чем 30000 сберегательных счетов, и мы должны рассчитать проценты за период 3 месяца с ежедневным балансом.

User 10734264

Это занимает много времени, потому что есть более чем 30000 сберегательных счетов, и мы должны рассчитать проценты за период 3 месяца с ежедневным балансом.

PeejayAdams

Это действительно до смешного медленно, такие вещи должны измеряться в миллисекундах, а не в минутах. Как бы заманчиво ни было заклеить трещины бумагой, на самом деле неразумно ожидать, что пользователь будет ждать так долго - кто-то действительно должен решить проблему производительности, иначе у вас не будет 30 000 учетных записей очень долго.

1 Ответов

Рейтинг:
2

Neha Ambasta

Итак, ваше требование таково:
Отображение всплывающего окна во время выполнения расчета с оставшейся детализацией расчета.
Ну, этот код просто показывает всплывающее окно с сообщением перед началом выполнения ajax.И показать рассчитанные детали при успехе.А по завершении вызова ajax скрывает всплывающее окно.
showPopup ("расчет находится в процессе!");

$.ajax({
    type: "POST",
    url: "url of the web service where you are calculating",
    data: //data goes here
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        if (response.d.Code == globalItem.WebServiceStatus.Success) {
         showPopup(response.d.ResponseItem[0]);
        }
    },
    error: function (jqXHR, exception) {
      //your exception message code here
    },
    complete: function () {
      hidePopup();
    }
});