我有3個php文件:request.php
,action.php
,mail.php
。通過javascript通過多個php文件POST數據
request.php
生成頁面,根據由ajax發送的POST
數據填充不同的數據。它以一個表單開始,具有多個字段。當您單擊submit
按鈕時,ajax通過POST
將表單數據發送到action.php
。 action.php
然後處理數據,將其存儲在數據庫中,並生成清晰地佈局數據的html div
。 action.php
然後使用html2canvas
和jsPDF
將html div
轉換爲pdf,然後通過jquery POST
傳遞給mail.php
,通過電子郵件將其發送至phpmailer
。 action.php
然後生成發送到request.php
並顯示的成功消息。
但是,發送pdf到mail.php
的action.php
中的JavaScript始終無法運行。我嘗試了很多種方法來做到這一點,但我似乎無法找到將數據傳遞到需要的地方的另一種方式,因爲數據需要傳遞兩次:首先是作爲原始數據的數組,然後作爲由html2canvas
和jsPDF
生成的pdf。
如果我的地方mail.php
隱藏iframe
內action.php
它將會運行得很好,併發送電子郵件,但它不含有任何數據從request.php
(顯然)的空PDF。
我能想到的一些潛在的解決方案,但我想不出如何實現它們:
1)看來問題是,JavaScript不喜歡跑嵌套,但也許有辦法強制action.php
中的javascript代碼運行,以便生成pdf併發送到mail.php
。
2)也許有辦法做到這一切只有一個數據通過,我沒有看到。
3)也許有一種方法,而內部action.php
傳遞數據數組的iframe
爲process.php
這將格式化的HTML DIV並生成PDF,然後把它送上mail.php
,但我相信,即使我能得到這樣做我會遇到同樣的問題,在process.php
的JavaScript未能運行併發送到mail.php
的PDF。
發佈您的代碼,我們可能會提供幫助。 – Matt
您可以隨時使用會話 – Phiter
@Matt添加的代碼。 – tsHunter