Я использую этот код для загрузки файла excel с сервера.
$.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;
},
});
Проблема, с которой я сталкиваюсь, заключается в том, что даже если данные и размеры блоба идентичны, момент, когда document.location присваивается, мне предлагается загрузить почти в два раза больше файла excel. И когда я пытаюсь открыть его, excel жалуется на неправильный формат файла, и открытый файл содержит много мусора, хотя требуемый текст все еще существует.
Любые идеи, что вызывает это и как его избежать?