这个问题更多的是如何从逻辑上解决这个障碍,而不是纠正代码。
我有一个基于"向导"的大型应用程序。用户输入他们的数据,继续,数据被保存,等等
最后,用户需要能够打印向导过程中收集的所有数据的PDF。我不想使用数据库中的数据,而是在向导中捕获"当前"的数据。
我已经能够在页面上创建一个隐藏表单,jquery用小字符串数据创建新的隐藏输入。然后,当用户点击"打印"时,数据会通过邮件发送,并在pdf中使用。。。但我需要一种发送大量数据的方法。
那么,为了让我的生活更轻松,是否可以将整个指定的div或表发送到TCPDF以用作htmlcell?
p.S.jQuery、HTML、PHP由我支配。
我不知道这个方法是否正确。但它是有效的。。通过ajax将数据作为数组发送到服务器
创建pdf。保存pdf服务器端文件夹,并在另一个窗口中打开pdf
**//将数据发布到服务器
$.ajax({
type:"POST",
url:"//path",
data:"&arrDataArray="+arrDataArray,
success:function(Results){
//if preview then open the pdf in a new tab
if(Results=='PREVIEW'){
highLightPrintSettingsTab(strCurrentTab);
$(".busyLoading").hide();
window.open("../pdffiles/example.pdf","_blank");
}
}});
以下是我最终所做的。工作起来很有魅力。
function submitData(url, method, data) {
var $form = $('<form></form>')
.attr('action', url)
.attr('method', method)
.attr('target', '_blank')
.appendTo('body');
for (var i in data) {
if (!data.hasOwnProperty(i)) continue;
$('<input type="hidden"/>')
.attr('name', i)
.val(JSON.stringify(data[i]))
.appendTo($form);
}
$form.submit();
}
});
其中"data"将是您希望发送到任何位置的数组,在我的情况下是tcpdf的控制器。{multi,data}表示复数。