2 it queen IT_Queen 于 2016.09.22 19:03 提问

怎么用ajax下载excel文件?

我现在的问题是调用了后台的导入接口(即把含有数据的excel文件上传到后台),当导入过程有数据相关错误时(数据类型错误、行数错误、数据重复错误等),后台的导入接口使浏览器自动下载一个名字为error的文件,并且这个error文件是自动生成的,没有URL。我导入时是用FormData做的,可是那个error文件不会自动下载,而且放到项目里chrome的调试工具response返回的是乱码,但是后台自己写的测试html,response是空白的,没有任何东西。下面是后台的html测试程序图片说明。第二张是我的代码:图片说明
求大神指点,最好有代码:
我的任务其实就是把之前导出的excel文件传到后台,并且做相应的弹出提示:
1、上传成功
2、上传失败(a,当文件格式错误或没有选择文件时,直接弹出相应提示(已实现)
b,当导入的数据有问题时,后台的接口是下载一个名字为error的excel文件)
如果哪位有更合适的代码,也可以指点我这个小白一下

2个回答

devmiao
devmiao   Ds   Rxr 2016.09.23 00:37
已采纳
showbo
showbo   Ds   Rxr 2016.09.23 10:09

ajax下载不了文件,即使你做了跳转到那个error文件的操作也不行

你要下载那个error文件,应该输出错误文件地址,如error.rar,success中的最后那个else分支用location.href=e

跳转到那个地址进行下载

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Ajax请求导出Excel的问题【ajax不能下载文件】
最近要给后台添加操作日志导出的功能,后台已经生成.xls文件,本来想只要ajax请求下就完事儿,想象总是美好的,可不管我怎么ajax,想了各种可能原因也无法解决。问题描述前端发送ajax【get/post】请求,后端生成excel文件,最后用response输出文件流,没有报错也没有文件下载提示。最后网上搜索了一波,遇到过这个问题的还是不少,问题出在ajax本身,解决方法和原因也都找到。原因aja...
ajax导出excel文件
由于单纯ajax是无法导出excel文件,并无任何提示的,但form表单直接提交是能读取并下载excel等文件的,所以设置一个下载按钮或链接,在需要下载时 ,点击出发ajax异步请求到excel,并在success回调中动态添加form表单进行请求下载,为保持页面美观,可在请求完成后删除,总结下来其实只需一行代码:$(' + url + '">').appendTo('body').submit(
关于extjs下载excel文件使用到Ajax异步请求
mark一下, 开发过程中,项目使用extjs4和Struts2整合在一起。 其中有个excel文件的下载功能。 项目中最初是使用window.location.href window.location.href ="sam/exportSampleDetailExcel.action?sampleManagement.sampleNum="+Ext.JSON.encode(jsonArr
点击Button,发送 AJAX请求使用POI如何实现Excel文件自动下载(JAVA后端)
有时候我们需要实现一个功能,就是把数据库当中的数据导入到Excel文件当中下载下来,或者对数据进行一系列的处理之后,把数据导入到Excel当中,然后下载下来,方便别人分析,特别是一些财务,运营,信息相关的数据。那么我们就需要实现Excel的导出功能。第一步:引入maven的poi依赖 <dependency> <groupId>org....
利用ajax导出Excel文件
记得之前写过ajax无法弹出保存下载对话框,就直接使用form表单进行提交,下载Excel的。但是如果需要传递参数的话,需要使用隐藏空间,有时候还有些麻烦,而使用ajax传递参数很方便啊?!于是我们可以通过ajax导出Excel htm代码如下: 报 表 下 载 javaScript脚本代码如下: function rptDownLoad(){ var rptId = $("#r
下载excel文档无法通过ajax的post请求来直接下载解决方法
post请求无法直接发送请求下载excel文档,是因为我们在后台改变了响应头的内容: Content-Type: application/vnd.ms-excel 导致post请求无法识别这种消息头,导致无法直接下载。解决方法: 改成使用form表单提交方式即可/*===================post请求下载文件 * options:{ * url:'', //下载地址 * da...
asp.net+Ajax实现Excel文件导出
asp.net+Ajax,实现Excel文件导出
文件下载不能使用ajax的替代解决方案
前天我们决定优化一下之前使用系统的导出excel和pdf文件功能,由于有时候数据量比较大,服务器查询数据和生成文件的事件可能会比较长,于是我们决定在前台页面加一个”数据处理中”的提示,在此期间不让用户重复操作,当文件生成好了之后开始下载,并让用户可以继续操作。很简单的需求,就是对需要较长时间的操作加等待提示,防止用户多次操作而已,但实际上还花了些时间才搞定。 分析 正常情况这种时候首先想到的就是用a
Thinkphp ajax异步下载excel文件
本代码是我自己写的达人库的代码,仅供各位参考 PHP代码部分 1,在控制器里面写下如下方法 public function printshowers(){        // 从数据库里查询出你所要打印到excel的数据信息         $model = D('User');         $sql = 'select a.*,b.city FROM sh_user as a
Java 通过 ajax导出excel
ajax其实是无法导出exlcel 的,但是我们可以在界面上通过iframe的方式导出excel:方法一:<a href="#" id="exportXlsButton" target="exportTarget" style="display:none"></a> <iframe name="exportTarget" id="exportTarget" style="display:none