我正在使用php和apache服务器.我的应用程序从用户那里收集数据,将其放入数据库中,然后使用PDFLib将格式化的数据以pdf格式显示给用户.我的问题是,我希望pdf显示为新页面,这可行.但是,我还有一个空白页,其中包含用于显示pdf的变量的URL.我希望此页面以HTML显示不同的摘要页面,但URL中没有变量,但是我不知道该怎么做.在下面的代码中,如果医疗标志为假,我将转到摘要页面.如果医疗标志为真,我想转到两个页面.这可能吗?
if($medical_flag) {
header("Location: {$_SERVER['PHP_SELF']}/./index.php?step=wc_pdf&id={$event_id}");
} else {
header("Location: {$_SERVER['PHP_SELF']}?step=success&id={$event_id}");
}
exit;
好的,我知道这是不可能的,但是我仍然没有弄清楚如何解决问题.我以为我可以像这样将PDF的开头折回jQuery:
jQuery(document).ready(function ()
{
function display_pdf_page(data, textStatus) {
var current_record = data || {};
//somehow display the pdf now
}
function show_pdf(eventid){
jQuery.getJSON(
'./inc/get_current_record_data_json.php',
{'id': eventid},
display_pdf_page
);
}
...
});
然后,我在php中使用以下命令“调用”处理数据后:
echo '<script type="text/javascript">'
, 'show_pdf($event_id);'
, '</script>';
但这也不起作用,php不知道在哪里可以找到show_pdf.我对客户端/服务器端事件的理解不足,使我在这里丧命.请打扰一下…我不明白.
解决方法:
此解决方案将无法按设计工作.
首先,如果要隐藏数据,则应切换到POST而不是GET.这样,数据将包含在HTTP有效负载中,而不是URI中.
其次,您应该为JavaScript使用一个隐藏的iframe来访问为其生成PDF的页面.成功执行AJAX调用(或使用的任何方法)后,您可以将页面重定向到所需的目标.