Ho trovato l'errore, modificando questa parte della chiamata ajax:


- se la risposta è success allora il type atteso è un blob
- se la risposta è error allora il type atteso è un text


codice:
xhr: function () {
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function () {
                if (xhr.readyState == 2) {
                    if (xhr.status == 200) {
                        xhr.responseType = "blob";
                    } else {
                        xhr.responseType = "text";
                    }
                }
            };
            return xhr;
        },

Grazie!