¿Se puede agregar la funcionalidad onprogress a jQuery.ajax () usando xhrFields?

Como se sugiere aquí:https://gist.github.com/HenrikJoreteg/2502497, Estoy tratando de agregar la funcionalidad de progreso a mijQuery.ajax() Subir archivo. La carga funciona bien, y el evento onprogress se está activando, pero no como lo esperaba, en lugar de disparar repetidamente en algún intervalo de tiempo, se activa solo una vez, cuando la carga se ha completado. ¿Hay alguna manera de especificar la frecuencia de las actualizaciones en progreso? O, ¿estoy tratando de hacer algo que no se puede hacer? Aquí está mi 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!');
            }
        }
    }
});

Respuestas a la pregunta(3)

Su respuesta a la pregunta