Kann die Funktion onprogress mithilfe von xhrFields zu jQuery.ajax () hinzugefügt werden?

Wie hier vorgeschlagen:https://gist.github.com/HenrikJoreteg/2502497Ich versuche, meine Onprogress - Funktionalität zu erweiternjQuery.ajax() Datei-Upload. Der Upload funktioniert einwandfrei, und das Ereignis onprogress wird ausgelöst, aber nicht wie erwartet. Statt in bestimmten Zeitabständen wiederholt ausgelöst zu werden, wird es nur einmal ausgelöst, wenn der Upload abgeschlossen ist. Gibt es eine Möglichkeit, die Häufigkeit der Aktualisierungen beim Fortschritt festzulegen? Oder versuche ich etwas zu tun, das nicht getan werden kann? Hier ist mein Code:

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

Antworten auf die Frage(3)

Ihre Antwort auf die Frage