我使用php和apache服務器。我的應用程序從用戶收集數據,將其放入數據庫中,然後使用PDFLib將格式化的數據以pdf格式顯示回用戶。我的問題是,我希望將pdf作爲新頁面顯示,這是有效的。但是,我也有一個空白頁面,其中包含用於顯示PDF的變量的URL。我希望這個頁面以HTML格式顯示不同的摘要頁面,而不需要URL中的變量,但我不知道該怎麼做。在下面的代碼中,如果醫療標誌爲假,我將進入摘要頁面。如果醫療標誌是真的,我想要兩個頁面。這可能嗎?PHP重定向到pdf然後導航到另一個頁面?
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。我對客戶端/服務器端事件的理解不夠讓我在這裏遇到困難。呼叫是鈍的...我不明白。
這是不可能的。您無法同時將瀏覽器同時發送到文件和網頁。一個HTTP請求,一個HTTP響應。如果由於某種原因,您需要從地址欄中隱藏PDF的URL,然後重定向到框架集頁面,其中一個框架指向PDF生成器的URL。 – 2012-08-13 16:24:36
我可能會使用javascript在新窗口中打開PDF,這是一個彈出窗口。然後,我會按照您所描述的將主站點重定向到新頁面。或者你可以做的是'php頭(位置:)'到一個新的頁面,然後將javascript作爲pdf的新窗口。 – 2012-08-13 16:32:15
當您在新頁面中顯示PDF時,您所看到的只是瀏覽器的一項「功能」。這不是你提出一個請求並收到兩個回覆。 – Crontab 2012-08-13 16:32:47