JQuery AJax - таймер загрузки - PullRequest
       1

JQuery AJax - таймер загрузки

2 голосов
/ 02 августа 2011

Я использую метод Ajax для извлечения данных, есть ли способ реализовать таймер загрузки во время выполнения процесса?

Приветствия

Ответы [ 4 ]

3 голосов
/ 02 августа 2011

Добавьте ajaxLoader.gif вращающееся анимированное изображение в div с style="display:none;" css, затем в начале вашей обратной передачи AJAX вызовите .show(), а затем .hide() снова в обратном вызове после завершения запроса.Вы также можете использовать события ajaxStart() и ajaxComplete(), если хотите показать / скрыть загрузчик для всех обратных передач AJAX.

2 голосов
/ 02 августа 2011

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

<img src="preloader.gif" id="Preloader" style="display:none;" /> Вы можете получить его с preloaders.net

Тогда в jQuery, если это то, что вы используете.Покажите прелоадер перед запросом.

$("#Preloader").show();
$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    // On success hide the preloader
    $("#Preloader").hide();
  },
  error: function(){
    // On error hide the preloader as well
    $("#Preloader").hide();
  }
});
1 голос
/ 02 августа 2011

Нет никакого способа сделать фактический таймер, так как вызов является асинхронным, и нет никакого способа сообщить, когда / если запрос будет завершен. Если вы используете jQuery, вы можете использовать метод ajaxStart () / ajaxComplete () для отображения загружаемого изображения или чего-то еще.

1 голос
/ 02 августа 2011

Вы можете использовать $.ajaxStart() и $.ajaxComplete(), которые позволяют вам связывать обработчики всякий раз, когда Ajax-вызов начинается / заканчивается.

В противном случае я не думаю, что есть какой-либо способ измерить ход разговора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...