我有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