Téléchargement du fichier à partir du résultat ajax en utilisant blob

J'utilise ce code pour télécharger le fichier excel à partir du serveur.

$.ajax({
    headers: CLIENT.authorize(),
    url: '/server/url',
    type: 'POST',
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify(jsonData),
    success: function (data) {
        alert('Data size: ' + data.length);
        var blob = new Blob([data], { type: "application/vnd.ms-excel" });
        alert('BLOB SIZE: ' + data.length);
        var URL = window.URL || window.webkitURL;
        var downloadUrl = URL.createObjectURL(blob);
        document.location = downloadUrl;
    },
});

Le problème que j'ai de l'expérience est que, même si les données blob et les tailles sont identiques, le moment du document.l'emplacement est affectée, je suis invité à télécharger almoste deux fois plus gros fichier excel. Et quand j'essaie de l'ouvrir, excel se plaint de mauvais format de fichier et le fichier ouvert qui contient beaucoup de déchets, même si le texte est toujours là.

Toutes les idées quelle en est la cause et comment l'éviter?

source d'informationauteur SMGhost