日期:2014-05-16  浏览次数:20643 次

ajax下载文件时为什么浏览器没有下载提示框?
我这里想在客户端发送一个请求,action配置如下

<action name="downloadexcel" class="action.StaffCfgAction" method="downloadExcel">
<result type="stream" name="success">
<param name="contentType">application/vnd.ms-excel;</param>
<param name="inputName">exlInputStream</param>
<param name="contentDisposition">attachment;filename="${downLoadFileName}"</param>
</result>、
</action>

假设页面通过$.post('downloadexcel.action');为什么浏览器没有反应???后台代码确实是执行了,而且换成form提交也是可以的。
 网上很多相关的内容,都是说用iframe或者form表单来代替ajax方式下载文件,请教一下为什么这种提交方式不行呢?
求详细解释?


------解决方案--------------------
ajax无法下载文件,ajax只能获取到string类型的内容
------解决方案--------------------

ajax只能处理文本信息,不能处理二进制信息。ajax和response有冲突用ajax异步提交response无法生成文件流
------解决方案--------------------
AJAX获取的是网页内容!如果是文件那将会是乱码!!因为全部转换为String了