Вторая версия XMLHttpRequest (XMLHttpRequest2) поддерживает события прогресса… для загрузки или скачивания!
Это очень просто реализовать если вам знаком jQuery, пример кода ниже:
$.ajax({
type: 'POST',
url: "/",
dаta: {},
beforeSend: function(XMLHttpRequest)
{
// прогресс загрузки на сервер
XMLHttpRequest.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
// делать что-то...
}
}, false);
// прогресс скачивания с сервера
XMLHttpRequest.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
// делать что-то...
}
}, false);
},
success: function(data){
// делать что-то при успешном завершении...
}
});