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!');
            }
        }
    }
});

questionAnswers(3)

yourAnswerToTheQuestion