在浏览器中下载.php?RID = 189正常工作。即加载并开始下载mp3文件。
但是当从onclick调用时,没有任何反应。 数据填充正常并且成功但没有下载开始。我需要对数据做些什么才能启动或改变调用php文件的方式? php文件基于:http://davidwalsh.name/php-force-download
function onApproveClick(clickVal)
{
$.post("download.php",
{
RID: clickVal.value,
},
function(data,status){
// alert("Data: " + data + "\nStatus: " + status);
});
}
答案 0 :(得分:3)
如果您想让浏览器下载文件,则无法使用AJAX调用。 AJAX发生在后台,然后数据提供给你的回调。
如果您想让浏览器下载文件,则需要将其重定向到您的页面:
function onApproveClick(clickVal){
window.location = 'download.php?RID='+clickVal.value;
}
如果您的PHP页面发送了正确的标题,那么该文件将被下载,用户将保留在当前页面上。