Не работает XMLHttpRequest.upload.onprogress при POST запосах

Тема в разделе "Web 2.0, AJAX, Ruby, RSS технологии", создана пользователем Serduko, 4 окт 2016.

  1. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Привет всем! Хочу прикрутить "прогресс бар" на загрузку файлов, но он не работает при POST запросах. Подскажите почему такое может быть?

    Код (Javascript):

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>

        <form method='POST' name="upload" enctype="multipart/form-data">
            <input type="file" name="myfile">
            <input type="submit" value="Загрузить">
        </form>

        <div id="log">Прогресс загрузки</div><br>

        <script>
            function log(html) {
                document.getElementById('log').innerHTML = html;
            }

            document.forms.upload.onsubmit = function() {
                var file = this.elements.myfile.files[0];
                if (file) {
                    upload(file);
                }
                return false;
            }


            function upload(file) {

                var xhr = new XMLHttpRequest();

                // обработчики можно объединить в один,
                // если status == 200, то это успех, иначе ошибка
                xhr.onload = xhr.onerror = function() {
                    if (this.status == 200) {
                    log("success");
                    } else {
                    log("error " + this.status);
                    }
                };

                // обработчик для закачки
                xhr.upload.onloadend = function () {
                    document.getElementById('showany').innerHTML = "Загружено"
                }

                xhr.upload.onprogress = function(event) {
                    log(event.loaded + ' / ' + event.total);
                }


                var formData = new FormData(Document.forms.upload);
                xhr.send(formData);

            }
        </script>
    </body>
    </html>
     
     
    #1 Serduko, 4 окт 2016
    Последнее редактирование: 4 окт 2016
  2. WebWare Team

    WebWare Team Администратор
    Команда форума

    Регистрация:
    30 дек 2015
    Сообщения:
    205
    Симпатии:
    98
    Мы пытаемся очистить форум от ссылочной массы. На форуме имеется функция вставки кода. Отредактируйте пожалуйста сообщение.
    Screenshot_2016-10-04-13-56-01-1.png
     
  3. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Исправил
     
Загрузка...

Поделиться этой страницей