Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.javascript > #4906
| 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 | 2017-09-17 15:00 +0200 |
| Message-ID | <f279uqFol4dU1@mid.individual.net> (permalink) |
| References | <oo95sc$uni$1@dont-email.me> |
Cross-posted to 2 groups.
Followups directed to: de.comp.lang.javascript
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 | Next — Next in thread | Find similar
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