2014-09-02 93 views
1

我需要發送一個包含html代碼的var。使用JQuery或JavaScript自動提交

我有一個HTML代碼的文件,和我讀了它,並把該HTML代碼的變種與

ob_start(); 
$output = ob_get_contents(); 
ob_end_clean(); 

我試圖通過GET用頭把它(位置:);但我得到錯誤(頭文件已經發送)。所以我想通過JQuery或JavaScript發送它。

我試圖做到這一點

var output = $('#out').text(); 
     $.post('../tcpdf/examples/polizaPDF.php',{output:output}) 
    .done(function(data) 
    { 
     console.log($.trim(data)); 
    }); 

但我需要留在網頁「polizaPDF.php」。

polizaPDF.php我該做什麼?我打印包含html代碼的var輸出。所以我可以在瀏覽器中獲得PDF。我使用tcpdf來打印pdf。

任何人都可以幫我或給我一些建議嗎?

+0

PDF生成腳本需要輸出一個頭告訴瀏覽器這是一個PDF,例如'header('Content-type:application/pdf');' - 然後渲染並輸出PDF到瀏覽器。這應該通過在瀏覽器中直接訪問腳本來測試。然後,在JQuery中,您需要獲取數據並將其附加到嵌入標記或類似物上,以便通過瀏覽器的內置PDF處理程序進行顯示和呈現 - 某些瀏覽器不會有一個,它將被強制下載不管你做什麼。 – 2014-09-02 20:42:05

回答

0

您可能想要查看關於Ajax調用的文檔。下面是關於如何將數據傳遞到一個文件中的一個例子:

$.ajax({ 
    type: "GET", 
    url: "../tcpdf/examples/polizaPDF.php", 
    data: { output: output } 
}) 
.done(function(data) { 
    console.log($.trim(data)); 
}); 

然後在你的polizaPDF.php您現在可以訪問到PHP變量$_GET['output']

0

如果你使用jQuery AJAX做POST,那麼它會發送它到polizaPDF.php,並且該腳本處理它。

我認爲通過AJAX POST發送請求,您將不會收到PDF輸出。由於要在瀏覽器中接收PDF文件輸出,您的PHP腳本應該發送新鮮的HTTP頭文件,並且您還必須在頭文件中提及PDF。

您必須使用此代碼將PDF文件發送到瀏覽器,並且這需要新鮮的標題。

header(「Content-type:application/pdf」);

編碼快樂 阿圖爾金達萊