当我单击按钮时,我想发送“ ajax下载请求”,因此我尝试了这种方式:
javascript:
var xhr = new XMLHttpRequest();
xhr.open("GET", "download.php");
xhr.send();
download.php:
<?
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename= file.txt");
header("Content-Transfer-Encoding: binary");
readfile("file.txt");
?>
但是没有按预期工作,我该怎么办?先感谢您
进入HTML5场景的是download属性。它支持在Firefox和Chrome,并很快来到IE11。根据您的需求,window.location
只要您要下载的文件与您的网站位于同一来源,就可以使用它代替AJAX请求(或使用)。
您始终可以window.location
通过使用一些JavaScript来测试是否download
支持AJAX请求/回退,如果不支持,则将其切换为call window.location
。
原始答案
由于您实际上必须导航至文件以提示下载,因此您无法让AJAX请求打开下载提示。相反,您可以使用成功函数来导航到download.php。这将打开下载提示,但不会更改当前页面。
$.ajax({
url: 'download.php',
type: 'POST',
success: function() {
window.location = 'download.php';
}
});
即使这回答了问题,还是最好只使用window.location
并完全避免AJAX请求。
问题内容: 我想在单击按钮时发送“ ajax下载请求”,所以我尝试了这种方式: javascript: download.php: 但是没有按预期工作,我该怎么办?先感谢您 问题答案: 2015年4月27日更新 进入HTML5场景的是download属性。它支持在Firefox和Chrome,并很快来到IE11。根据您的需求,只要您要下载的文件与您的网站位于同一来源,就可以使用它代替AJAX请求(
在我们的应用程序中,我们需要实现以下场景: 从客户端发送请求 服务器处理请求并生成文件 服务器返回文件作为响应 客户端浏览器显示文件下载弹出对话框,允许用户下载文件 我们的应用程序是基于ajax的应用程序,因此发送ajax请求(如使用jquery.ajax()函数)将非常简单方便。 但是在googilng之后,事实证明文件下载只有在使用非ajax POST请求时才是可能的(就像在这个流行的SO线程
问题内容: 我想知道是否可以对特定网址进行ajax发布请求,并且仅应要求在数据中接收zip文件?还是我必须发送两个请求…一个,是为了使已创建的服务器内的zip文件的URL成为另一个,而另一个要下载该zip文件? 问题答案: 本机答案是否定的! 但是你可以这样做。 您的ajax请求: 您的php文件:
问题内容: 在我们的应用程序中,我们需要实现以下场景: 客户发送请求 服务器处理请求并生成文件 服务器返回文件作为响应 客户端浏览器显示文件下载弹出对话框,并允许用户下载文件 我们的应用程序是基于ajax的应用程序,因此对于我们来说,发送ajax请求(就像使用jquery.ajax()function一样)非常容易和方便。 但是在googilng之后,事实证明只有在使用非ajaxPOST请求时才可
问题内容: 在我们的应用程序中,我们需要实现以下场景: 客户端发送请求 服务器处理请求并生成文件 服务器返回文件作为响应 客户端浏览器显示文件下载弹出对话框,并允许用户下载文件 我们的应用程序是基于ajax的应用程序,因此对于我们来说,发送ajax请求(就像使用function一样)非常容易和方便。 但是在googilng之后,事实证明只有在使用非ajax POST请求时才可以下载文件(如该流行的
在我的php文件中,我有以下内容来创建一个带有FPDF库的PDF: 但是请求是响应这个,而不是打开一个保存对话框来保存我的PDF。 %PDF-1.3 3 0 obj<>endobj 4 0 obj<>stream x 3 R@2π35 W(çR qπw 3 t04多30 pispéz*[(hx·ääää+çó)·(j*dé7 w endstream endobj 1 0 obj /xobject<