Ajax请求导出Excel的问题

文章转载自: http://yuwenlin.iteye.com/blog/2275289

 

Ajax请求导出Excel的问题描述:

前端发起Ajax请求get或post,后台使用Poi生成excel文件,最后用response输出excel文件流。整个调用过程都没有报任何错,excel文件也生成在本地,但浏览器没有弹出文件下载,毫无反应。

 

解决:

开始一直以为是浏览器兼容性,或后台输出文件流代码有问题,调了半天,也都一样,不报任何错。后来上网搜发现在类似的问题,Ajax导出excel没反应,网上有人说不能使用ajax,换成地址重定向location.href就行,一换还真好使。就是ajax请求的问题。

 

总结:

导出excel为什么不能用ajax请求?

因为导出excel,实际上是文件下载,后台需要往前端(浏览器)写文件流的。

而Ajax请求获取数据都是“字符串”,整个交互传输用的都是字符串数据,它没法解析后台返回的文件流,但浏览器可以。

 

Ajax与Form表单提交的区别:

Ajax提交不会自动刷新页面,需要手动处理。

Form表单提交在数据提交后会刷新页面,如果是Post提交,点击刷新浏览器会提示 是否再次提交。

 

posted @   fy_qxl  阅读(443)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示