码迷,mamicode.com
首页 > 其他好文 > 详细

下载请求发送成功,无下载提示,下载失败

时间:2018-01-26 11:09:11      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:position   get   filename   erro   value   返回   content   通过   ons   

  最近处理了Excel导出操作是碰到的问题,Excel处理插件用的是POI。

  前端通过Ajax请求,发送导出操作之后,在后台进行进行Debug跟进,都没有问题,但是就是不会弹出下载提示框。

  服务器返回了response之后,客户端这边没有任何反应。

  部分下载代码如下:

if(workbook !=null){
                try
                {
                    String fileName = "Userlog_" + String.valueOf(System.currentTimeMillis()).substring(4, 13) + ".xls";
                    String headStr = "attachment; filename=\"" + fileName + "\"";
                    response.setContentType("APPLICATION/OCTET-STREAM");
                    response.setHeader("Content-Disposition", headStr);
                    OutputStream out = response.getOutputStream();
                    workbook.write(out);
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
}

 

  参考了网上的说法,ajax请求的返回值类型为:json、html、text、xml。对于流这种类型,ajax请求无法识别,所以客户端也一直没有反应。

  是否可以在ajax请求的回调函数success或者error中处理这个response,还是response到达客户端的时候,ajax无法识别,导致回调函数无法触发。

  后面改用window.location.href="";这种请求可以解决这个问题。类似的还有window.open;window.url等。

  记之。

  

下载请求发送成功,无下载提示,下载失败

标签:position   get   filename   erro   value   返回   content   通过   ons   

原文地址:https://www.cnblogs.com/GoneLW/p/8358166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!