Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.javascript > #4906

Re: PDF-Anzeige aus per Ajax gerufenem PHP-File

Path csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Arno Welzel <usenet@arnowelzel.de>
Newsgroups de.comp.lang.php, de.comp.lang.javascript
Subject Re: PDF-Anzeige aus per Ajax gerufenem PHP-File
Followup-To de.comp.lang.javascript
Date Sun, 17 Sep 2017 15:00:07 +0200
Lines 57
Message-ID <f279uqFol4dU1@mid.individual.net> (permalink)
References <oo95sc$uni$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace individual.net LLhUUJKrUT6eTvv+gZ8BDg76HnUzoH6CckYHUbbqD17VvtCjFS
Cancel-Lock sha1:or7xlewgb4Ui9thg7Pgz/68yKBA=
In-Reply-To <oo95sc$uni$1@dont-email.me>
Xref csiph.com de.comp.lang.php:4260 de.comp.lang.javascript:4906

Cross-posted to 2 groups.

Followups directed to: de.comp.lang.javascript

Show key headers only | View raw


Ralph Stahl:

> Moin!
> 
> Folgende Situation in einer PHP/jQuery-Applikation:
> 
> Auf einer Website ist ein Button, per Klick darauf wird mittels
> jQuery-post() ein PHP-File (sagen wir "create-pdf.php") gerufen. In
> selbigem wird mit der bekannten PDF-Bibliothek TCPDF ein PHP-Dokument
> erzeugt, das ich dann zum Drucken oder Speichern aufpoppen lassen möchte
> (der Browser ist so eingestellt).
> 
> In Kurzfassung dieses Stückchens Javascript heißt also:
> 
> $('#mein_button').on('click', function() {
>     $.post('create-pdf.php', {Parameter...});
> });

Und wo wird das Ergebnis dieses Post verarbeitet? Die Frage hat mit PHP
außerdem exakt gar nichts zu tun.

[...]
> Das klappt prima, solange ich create-pdf.php direkt im Browser aufrufe.
> Den Aufruf über Ajax kann ich zwar in der Konsole von Firefox verfolgen
> und man sieht auch die obigen Header richtig - nur poppt nichts, die
> Daten geht ins Leere.

"Ajax" bzw. XHR bedeutet, dass JavaScript das Ergebnis in einem Handler
übernehmen kann. Einen Request per XHR zu schicken bedeutet *nicht*,
dass der Browser das Ergebnis dann anzeigt, sondern Du musst es schon
selber per JavaScript-Handler entgegennehmen und ggf. zur Anzeige bringen.

> Was ist an der Idee verkehrt? Ich rufe das Ganze doch in dem Browser

Die Benutzung von XHR statt einfach einem direkten Link oder einem
Formular, dass per POST abgeschickt wird.

Als Idee:

<form id="requestpdf" action="create-pdf.php" method="post">
 <input type="hidden" name="parameter1" value="..." />
 <input type="hidden" name="parameter2" value="..." />
 <input type="submit" value="PDF Anfordern" />
</form>

Und dann eben genau die Elemente (parameter1...) dieses <form> per
Script befüllen und das form dann abschicken oder bei dem submit-Knopf
noch einen onClick-Handler ergänzen, der vor dem Abschicken die
hidden-Felder passend setzt.

X'Post und F'Up nach de.comp.lang.javascript

-- 
Arno Welzel
https://arnowelzel.de
https://de-rec-fahrrad.de
http://fahrradzukunft.de

Back to de.comp.lang.javascript | Previous | NextNext in thread | Find similar


Thread

Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Arno Welzel <usenet@arnowelzel.de> - 2017-09-17 15:00 +0200
  Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Ralph Stahl <post@rstahl.de> - 2017-09-18 09:56 +0200

csiph-web