首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >文件下载的AJAX响应为编码格式。

文件下载的AJAX响应为编码格式。
EN

Stack Overflow用户
提问于 2014-06-27 04:52:07
回答 2查看 383关注 0票数 0

我以如下方式调用ajax

代码语言:javascript
代码运行次数:0
运行
复制
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文件作为响应。

但是,

代码语言:javascript
代码运行次数:0
运行
复制
success: function(data){

}

在这里,我得到的data包含一堆编码值,我可以在浏览器控制台中看到这些值。我怎样才能在这里得到下载地址。

EN

回答 2

Stack Overflow用户

发布于 2014-06-27 05:05:47

AJAX是用来发送/检索数据的,所以很明显你会在成功函数中得到数据。

您应该使用普通表单进行POST,并确保服务器设置了正确的标题。

代码语言:javascript
代码运行次数:0
运行
复制
<form method="post" action="/path/to/excel/file">
    ...
</form>

在表单生成POST后,服务器提供数据和标题,如果您的浏览器不支持查看excel文件,则下载将开始。

票数 0
EN

Stack Overflow用户

发布于 2014-06-27 05:16:52

出于安全原因,您不能使用ajax下载将保存在硬盘上的文件。前面还有一个问题涉及到同样的问题:Download a file by jQuery.Ajax

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24440022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档