Интересно, может ли кто-нибудь предложить альтернативный подход к следующему решению?
У меня есть веб-приложение, которое отправляет http-запрос на PDF.PDF может занять больше времени ожидания по умолчанию для запроса на создание на стороне сервера, поэтому для лучшего контроля я использовал ajax, где, как и ранее, использовался только window.open.
Однако из-закак подготовлен PDF, запрос на его создание, также возвращает его.Я не мог найти способ обработки двоичных данных PDF, возвращенных, поэтому я просто использовал кеш браузера для хранения данных.Затем просто запросите снова тот же URL, но с использованием window.open.
Код для этого следующий:
function loadPdf(url, timeout){
$.ajax({
url: url,
success: function(data){
window.open(url);
},
error: function(error, status){
window.alert("Problem retrieving PDF.\nThe error status is: " + status);
},
timeout: timeout,
dataType: "application/pdf"
});
}
На самом деле я хотел бы обработать успехданные таким образом, что просит пользователя открыть / сохранить PDF.Мне не очень нравится использовать window.open таким образом, особенно при повторном вызове, подобном этому.