显示PDF BLOB
这是我的jQuery: $(文件)。就绪(函数(){VAR instrID; VAR猫;显示PDF BLOB
$(window).load(function(){
});
$.post('ajax.php', {InstrumentID: instrID, catView: "pdf"}, function(data){
$('#displayPDF').append("<php> header('Content-type: application/pdf') </php>");
$('#displayPDF').append("<php> echo("+ data +") </php>");
});
这是我的AJAX或ajax.php:
<?php
include '../include/xxxxx.php';
$instrumentID = $_POST['InstrumentID'];
$category = $_POST['catView'];
$sql = "SELECT * FROM `xxxxx` WHERE `InstrumentID` = '" . $_POST['InstrumentID'] . "'";
$results = mysql_query($sql);
if($category == "pdf")
{
header("Content-type: application/pdf");
echo (mysql_result($results, 0, 'Instrument'));
}
?>
这是我的div displayPDF它是空的:
<div id="displayPDF">
</div>
的jQuer y和div在同一个php文件中。我想要在点击事件发生的同一页面显示PDF。除了获得pdf之外,一切都在运作。当pdf回传给div时,它只是作为一堆字符回来。我想要显示的pdf小于1 MB。任何想法将不胜感激。
您还没有为instrID
设置一个值,也没有为输入消毒。
的反正不是使用AJAX你可以直接嵌入到PDF页面
var source = 'ajax.php?InstrumentID='+encodeUriComponent(instrID)+'&catView=pdf';
$('#displayPDF').append('<object data="'+source+'" type="application/pdf">'+
'<embed src="'+source+'" type="application/pdf"/></object>');
,然后在你的PHP使用$_GET
而不是职位。
我不认为你可以以这种方式内联显示PDF。尝试切换到一个iframe - 这应该工作。这是设置您的ajax.php iframe的位置。
我猜iframe会在我的div。你有一个例子吗? – user908759 2013-03-16 21:48:30
不,我不使用iframe。谷歌应该有很多例子。 – fredrik 2013-03-17 07:18:44
both:$ instrumentID = $ _POST ['InstrumentID']; $ category = $ _POST ['catView'];应该是$ instrumentID = $ _GET ['InstrumentID']; $ category = $ _GET ['catView']; – user908759 2013-03-16 21:44:03
@ user908759是的,这个改变是从一个ajax post请求到一个嵌入对象的获取请求。 – Musa 2013-03-16 22:18:51
我改变了帖子得到,仍然没有运气。有没有另一种方法来显示使用PHP,MySQL和jQuery的pdf blob?我一直在寻找像疯了一样,我没有找到太多的帮助。不过谢谢你。 – user908759 2013-03-17 04:39:16