javascript xhr.upload не определен.Не удается отследить прогресс загрузки - PullRequest
3 голосов
/ 19 января 2012

Я пытаюсь разработать загрузчик html-5 с индикатором выполнения.Я завершил отправку и получение файла, но индикатор выполнения остается.

Во всех примерах используется что-то вроде:

var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", function (evt) { ...

Когда я набираю это в консоли браузера, он отвечает undefined

var xhr = new XMLHttpRequest(); alert(xhr.upload);

Как получить объект загрузки, чтобы я мог отслеживать прогресс?Я тестировал в последних Chrome (v16) и Firefox (v9)

Ответы [ 4 ]

1 голос
/ 19 января 2012

Это похоже на работу в консоли Chrome

var request = new XMLHttpRequest();
request.addEventListener("progress", function(){console.log('progress')});
request.open("POST", "/", true);
request.send(null);
1 голос
/ 20 января 2012

Нашли ошибку.Когда я использовал консоль в другой браузерной среде (новая вкладка), это работало.Я обнаружил ошибку как библиотеку Dajaxice для python, которая, очевидно, разрушает некоторые свойства нативного объекта xhr.Спасибо за помощь, заставил меня задуматься ...: -)

Note2-self: Не думайте, что консоль "чиста" при использовании для отладки.

0 голосов
/ 13 мая 2013

Это не проблема dajaxice, а проблема библиотеки XMLHTTMLRequest.js, которую она использует, смотри соответствующую известную и нефиксированную проблему https://github.com/ilinsky/xmlhttprequest/issues/12

Но использование Dajax / DajaxIce в приложениях HTML5 действительно мешает

0 голосов
/ 19 января 2012

Попробуйте просто установить onprogress напрямую.

xhr.upload.onprogress = function(evt){console.log('progress')};

а затем делай то, что делал.

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

enter image description here

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