文件下载,是不可以直接通过Ext.Ajax.Request来实现的。一般的,可以通过创建一个隐藏的form表单来实现。具体代码以及代码注释如下:

if (!Ext.fly('downForm')){      //如果不存在一个id为"downForm"的form表单,则执行下面的操作

 //下面代码是在创建一个表单以及添加相应的一些属性
var downForm = document.createElement('form'); //创建一个form表单
 downForm .id = 'downForm';   //该表单的id为downForm
downForm .name = 'downForm'; //该表单的name属性为downForm
downForm .className = 'x-hidden'; //该表单为隐藏的
downForm .action = 'download.action'; //表单的提交地址
downForm .method = 'post'; //表单的提交方法  //下面代码是下载文件需要传递附加参数时才写的
 //其原理很简单,就是添加input,然后再添加name和value即可
 //其中,name属性时参数名称,value是参数的值
var data = document.createElement('input'); //创建一个input节点
data.type = 'hidden';  //隐藏域
data.name = 'data';   //需要传递给后台的参数名
data.value = "666"; //参数值 downForm.appendChild(data); //将input节点追加到form表单里面
document.body.appendChild(downForm ); //讲form表单追加到body里面
}
Ext.fly('downForm').dom.submit(); //调用form表单的submit方法,提交表单,从而开始下载文件 //因为表单已经提交了,文件也开始下载了,所以过河拆桥,把表单移除掉
//如果存在id为downForm的表单,则将它移除掉
if (Ext.fly('downForm')){
document.body.removeChild(downForm );
}

最新文章

  1. [Django]用户权限学习系列之Permission权限基本操作指令
  2. ButterKnife基本使用
  3. K2新网站(官网和BPM社区)正式上线了
  4. struct大小
  5. python_way ,自定义session
  6. mr的logs的查看
  7. POJ 1723
  8. vim - 查找替换
  9. 【HDOJ】4579 Random Walk
  10. Linux 内核开发 - 进程空间
  11. MRD-5012型RS232,RS485有源隔离中继模块,采用磁隔离技术,金升阳DC-DC隔离电源,纯硬件自适应方向,速度高达256000bps
  12. AndroidUI 视图动画-混合动画效果 (AnimationSet)/动画效果监听
  13. 好的 小图标 html
  14. Web开发安全小贴士
  15. 面向对象编程 —— java实现函数求导
  16. sqlzoo:using group by and having
  17. 2016 西普杯丶天津CTF预选赛(3/6)
  18. 【转】HashMap集合中key只能为引用数据类型,不能为基本类型
  19. JAVA之Mybatis基础入门二 -- 新增、更新、删除
  20. python3字典练习(重要)

热门文章

  1. 用PHP向数据库中添加数据
  2. codeforces399D
  3. gvim config
  4. weiapi2.2 HelpPage自动生成接口说明文档和接口测试功能
  5. hdu 1285 确定比赛名次 拓扑排序
  6. 剑指offer--21题
  7. Nodejs Express 4.X 中文API 1--- Application篇
  8. 安装成功的nginx如何添加未编译安装模块
  9. 9 I/O复用
  10. BZOJ 3155: Preprefix sum