A funcionalidade de controle pode ser adicionada ao jQuery.ajax () usando xhrFields?
Como sugerido aqui:https://gist.github.com/HenrikJoreteg/2502497, Estou tentando adicionar a funcionalidade de progresso ao meujQuery.ajax()
upload de arquivos. O upload funciona bem, e o evento onprogress está disparando, mas não como eu esperava - em vez de disparar repetidamente em algum intervalo de tempo, ele é acionado apenas uma vez, quando o upload é concluído. Existe uma maneira de especificar a frequência de atualizações de progresso? Ou estou tentando fazer algo que não pode ser feito? Aqui está meu código:
$.ajax(
{
async: true,
contentType: file.type,
data: file,
dataType: 'xml',
processData: false,
success: function(xml)
{
// Do stuff with the returned xml
},
type: 'post',
url: '/fileuploader/' + file.name,
xhrFields:
{
onprogress: function(progress)
{
var percentage = Math.floor((progress.total / progress.totalSize) * 100);
console.log('progress', percentage);
if (percentage === 100)
{
console.log('DONE!');
}
}
}
});