【发布时间】:2017-04-27 13:46:11
【问题描述】:
我正在尝试使用 AJAX 来查询 PHP 文件并向用户显示 PDF 文件。 PHP 文件的响应是存储在我的服务器上的 PDF 文件的原始数据。下面是我用来尝试完成此操作的代码,但它不起作用。我不断收到来自浏览器的错误请求错误。有谁知道这样做的正确方法?
我的最终目标是我不希望用户能够看到我存储 PDF 文件的服务器路径。我只希望使用 AJAX / PHP 脚本可以访问 PDF 文件。我知道这不是最安全的方法,但我只想让外行远离我的 PDF 文件。
jQuery:
$.ajax({
type: "POST",
url: 'process.php',
data: {"name" : "value"},
success: function (data) {
var json = $.parseJSON(data);
if(json.hasOwnProperty('success')){
window.location(json.success);
// json.success should contain the pdf binary data
// i just cant figure out how display the pdf in the browser
}
}
});
PHP:
<?php
$fileName = $_POST['name'];
if(isset($fileName)){
$file = './path-to-forms/'.$fileName.'.pdf';
$pdfData = file_get_contents($file);
$data = array("success" => $pdfData, "name" => $fileName);
echo json_encode($data);
}
?>
【问题讨论】:
-
在您的代码中是否有定义分配给
window.location的函数?如果是这样,您可以编辑您的帖子并包含它吗? -
@sam no
window.location是一个内置的 jQuery 函数
标签: php jquery json ajax file-get-contents