JQuery Ajax Запрос с процентом

5

Мне нужно получить выполнение% для запроса ajax.

Я попробовал следующее:

$(document).ready(function() {
    $.ajax({
        xhr : function() {
            var xhr = new window.XMLHttpRequest();
            xhr.upload.addEventListener("progress", function(evt) {
                if (evt.lengthComputable) {
                    var percentComplete = (evt.loaded / evt.total) * 100;
                    //Do something with upload progress here
                }
            }, false);

            xhr.addEventListener("progress", function(evt) {
                if (evt.lengthComputable) {
                    var percentComplete = (evt.loaded / evt.total) * 100;
                    //Do something with download progress
                    console.log(percentComplete);       
                }
            }, false);

            return xhr;
        },
        url : my_path
    }).done(function(data) {

        console.log(data);
    });
}); 

Проблема заключается в том, как проверить, работает ли этот код или нет. Я всегда получаю 100 в консоли firebug, я сомневаюсь, что вместо 100 в консоли должно быть несколько записей %.

my_path - это страница PHP, которая возвращает записи из базы данных MySQL. Есть ли способ замедлить процесс/рендеринг страницы для проверки функциональности?

  • 1
    возможный дубликат stackoverflow.com/questions/16690740/…
  • 0
    @Manibharathi Я уже реализовал эту функциональность и должен проверить функциональность%, замедляя рендеринг страницы или работу БД?
Показать ещё 5 комментариев

1 ответ

3
Лучший ответ

Проблема с использованием чтения БД - это то, что сначала нужно знать размер, поэтому вам действительно нужен файл для проверки этого.

Для загрузки (загрузка клиента с сервера) вам нужно ввести задержку, иначе вы только хотите скачать огромный файл.

Попробуйте этот script, который устанавливает правильные заголовки длины контента и выводит только 50 байтов за раз, с задержкой в ​​1 секунду (вы можете протестировать его с относительно небольшим файлом, woot).

Что касается Uploading (отправка на сервер), единственным вариантом в этом отношении является сделать его большим файлом и отменить его, когда это будет сделано.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню