我以如下方式调用ajax
var formData = new FormData();
formData.append('name', 'John');
formData.append('company', 'ABC');
$.ajax({
url: url,
data: formData,
processData: false,
contentType: false,
success: function(data){
window.location.href = data.URL; // data does not have URL attribute.
},
error: function(err){}
});
在这里,理想情况下,我应该下载一个excel文件作为响应。
但是,
success: function(data){
}
在这里,我得到的data
包含一堆编码值,我可以在浏览器控制台中看到这些值。我怎样才能在这里得到下载地址。
发布于 2014-06-26 21:05:47
AJAX是用来发送/检索数据的,所以很明显你会在成功函数中得到数据。
您应该使用普通表单进行POST,并确保服务器设置了正确的标题。
<form method="post" action="/path/to/excel/file">
...
</form>
在表单生成POST后,服务器提供数据和标题,如果您的浏览器不支持查看excel文件,则下载将开始。
发布于 2014-06-26 21:16:52
出于安全原因,您不能使用ajax下载将保存在硬盘上的文件。前面还有一个问题涉及到同样的问题:Download a file by jQuery.Ajax
https://stackoverflow.com/questions/24440022
复制