PHP 重定向到 pdf,然后导航到另一个页面


PHP redirect to pdf then navigate to another page?

我正在使用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;

好的,我知道这是不可能的,但我仍然没有弄清楚如何解决问题。我想我可以在jQuery上用这样的东西来扔回PDF的打开:

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 调用(或使用的任何方法)后,可以将页面重定向到所需的目标。

正如sixeightzero所建议的那样,在这种情况下应该使用POST而不是GET。

但是,也许您可以通过跨越窗口的大iframe(100% 宽度和高度)来实现所需的效果?