0
我有一個php腳本從服務器下載文件,並從href標記調用時工作正常,但它不工作,如果相同的PHP腳本是從ajax請求中調用。 (我需要使用ajax請求,因爲我需要在下載de文件之前從mysql數據庫中提取文件的路徑) 我真的很感激任何幫助。從服務器下載PHP文件並不通過阿賈克斯請求
PHP (mydownload.php)
<?php
header("Content-disposition: attachment; filename=myfile.pdf");
header("Content-type: application/pdf");
readfile("myfile.pdf");
?>
HTML (index.html)
<head>
<script type="text/javascript" src="js/jquery/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
function miFuncion()
{
$.ajax({
url: "mydownload.php",
type: "post",
success: function(res){
}
})
}
</script>
</head>
<body>
<a href="mydownload.php">Download the document (PDF)</a> // Work !
<form>
<input type="button" onclick="miFuncion()" value="Activar Función DL"> // Doesn`t work
</form>
</body>
</html>
正如我之前所說的,利用德href標記選項,文件下載沒有任何問題,但使用來自Ajax請求我得到下面的屏幕,而不是選項:enter image description here
如果您使用Ajax下載文件,那麼您要告訴瀏覽器,您將在javascript中使用'success:function(res){ } .... ....爲什麼不簡單地使用鏈接,它告訴瀏覽器它應該處理響應 –
嗨馬克,感謝您的回答,問題是用戶可以選擇要下載的文件。所以我需要將該文件的名稱傳遞給腳本。我不知道如何在沒有Ajax的情況下將參數傳遞給php腳本。 –