将变量从javascript发送到php,并将其作为文件下载的链接接收回来


Send variable from javascript to php and receive it back as a link for file download

我需要将变量从javascript发送到另一个php文件,以接收文件下载的链接。

变量将从list.php发送:

<a href="javascript:FileSave(<?php $val ?>);">PDF</a>
<script language="JavaScript" type="text/javascript">
function FileSave($fid) { 
$.post( "getfile.php", { id: $fid }) ...
... </script>

链接将从getfile.php接收:

<?php if (isset ($_POST['id'])) { $link = "./pdfs/vers".$_POST['id']; } ?>

我希望它没有页面重新加载或重定向。我可以吗?

如果list.php和getfile.php在同一台服务器上,您可以使用Ajax。

在Javascript 中

function FileSave($fid) {
  $.ajax({
    type: 'post',
    url: 'list.php',
    data: {
      'id': $fid
    },success: function(data){
      // Your process after received data from getfile.php
    }
  });

在PHP 中

if (isset($_POST['id'])) {
  header("Content-type: text/plain; charset=UTF-8");
  $link = "./pdfs/vers".$_POST['id'];
  echo $link;
}