Mam łącze i kiedy użytkownik go kliknie, otrzymuje plik PDF. W jQuery tworzę wywołanie POST ajax na serwer, aby uzyskać plik PDF. Odpowiedzią jest plik PDF z poprawnymi nagłówkami treści itp., Który normalnie spowoduje, że przeglądarka otworzy wtyczkę Reader lub pozwoli użytkownikowi zapisać plik PDF. Ale w moim przypadku to nie działa. Czy jest jakiś sposób, aby ustawić typ treści danych lub ustawić typ zawartości na PDF?Ajax jQuery: odpowiedź pdf
Moje ajax połączeń:
$('#sf_getpdf').click(function() {
$.ajax({ //create an ajax request to load_page.php
type: "POST",
url: "index.php?route=sale/order/superfaktura_getpdf&token=<?php echo $token; ?>",
data: 'invoice_id=<?php echo $invoice_id; ?>&sf_token=<?php echo $sf_token ?>', //with the page number as a parameter
dataType: "text", //expect html to be returned
success: function(msg){
if(parseInt(msg)!=0) //if no errors
{
document.write(msg)
}
}
});
});
Firebug, odpowiedź:
Response w przeglądarce ...
Próbowałem już ustawić typ zawartości w serwerze , bez powodzenia:
Edytuj: Ajax nie jest potrzebny, aby to zrobić.
<a id="adr_stitok" target="_blank" href="index.php?route=sale/order/superfaktura_getpdf&token=<?php echo $token; ?>&invoice_id=<?php echo $invoice_id; ?>&sf_token=<?php echo $sf_token ?>" >Download</a></td>
Zrobię to.
document.write() nie jest przeznaczone do pracy w taki sposób. Lepiej jest, wysyłając użytkownika na nową stronę. – Corbin
Ahhh, jestem głupi. Download Nie potrzebuję ajax, aby to zrobić. :) – Adrian
Dlaczego po prostu nie hiperłącza linku pdf? lub złożyć wniosek pocztą za pośrednictwem formularza? – John