PdfResponse přes ajax nefunguje, bez chyby v console

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Mira8
Člen | 36
+
0
-

Ahoj snažím se vytvořit pdf dokument z části html stránky. Kód vypadá následovně:

	<button id="savePdf">SAVE AS PDF</button>

	<script type="text/javascript">
    $('#savePdf').on('click', function () {
        $.nette.ajax({
            type: 'POST',
            url: {link savePdf!},
            data: {
                formData: JSON.stringify(
                    $('.results').html()
                )
            }
        });
    });
</script>
	public function handleSavePdf()
{
    $data = $this->getHttpRequest()->getPost();
    $template = json_decode($data['formData']);

    $pdf = new \Joseki\Application\Responses\PdfResponse($template);
    $pdf->setSaveMode(\Joseki\Application\Responses\PdfResponse::DOWNLOAD);
    $this->sendResponse($pdf);
}

Po kliku se nic nestane v console žádná chyba není. Viz screen https://pasteboard.co/GJeYP6j.png V čem může být problém?

Díky

matopeto
Člen | 395
+
0
-

Co by sa malo stat, ked s tym response nic nerobis? :)

Mira8
Člen | 36
+
0
-

matopeto napsal(a):

Co by sa malo stat, ked s tym response nic nerobis? :)

ocekaval jsem force file to download :) viz. https://github.com/…/PdfResponse

matopeto
Člen | 395
+
0
-

To je ked je to bez ajaxu, ajax to stiahne ale s tym nic neurobis tak nic sa nestane, Vypni ajax na to tlacitko a budes ok :)

iguana007
Člen | 970
+
0
-

BUdto jak rika @matopeto nebo takto: https://stackoverflow.com/…-jquery-ajax

Editoval iguana007 (7. 9. 2017 12:20)

Mira8
Člen | 36
+
0
-

iguana007 napsal(a):

BUdto jak rika @matopeto nebo takto: https://stackoverflow.com/…-jquery-ajax

jde o to ze, na strance generuju ajaxem data ktere na te same strance vypisuju, data potrebuju umoznit stahnout v pdf bez reload page :/ a zaroven to potrebuju na backendu, predelavam z js

matopeto
Člen | 395
+
0
-

force download ti nezrusi stranku na ktorej si. – pripadne si to otvor v novom okne.

Editoval matopeto (7. 9. 2017 14:02)

Mira8
Člen | 36
+
0
-

matopeto napsal(a):

force download ti nezrusi stranku na ktorej si.

ok, ted ale uplne nevim jak vypnout ajax, abych zaroven do presenteru dostal

formData: JSON.stringify(
    $('.results').html()
)
Rob Bob
Člen | 60
+
0
-

Ale když ty data z formuláře odešleš normálně a přijde ti jako odpověď soubor (v hlavičce bude Content-Disposition: attachment; filename=…), tak by se ti ta stránka neobnovit neměla. Jestli potřebuješ data nejprve vypsat na stránku, tak je si je při tom ajaxovém odesílání navíc třeba ulož do session a zobraz je přes snippet no a pak dej stažení souboru přes tlačítko už normálně s postupem viz výše.

Editoval Rob Bob (7. 9. 2017 14:14)