Jquery Mobile如何下载文件

前言JQuery Mobile的请求基本上都是通过Ajax来完成的,但是ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的,文件的下载是以二进制形式进行的也就是流,ajax是不能返回的,虽然可以读取到返回的response,但只是读取而已,是无法执行的。解决方案,不用ajax:使用XHR 全称:XMLHttpRequest废话不多说直接上代码吧:1. 前端请求 ...
摘要由CSDN通过智能技术生成

前言

JQuery Mobile的请求基本上都是通过Ajax来完成的,但是ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的,文件的下载是以二进制形式进行的也就是流,ajax是不能返回的,虽然可以读取到返回的response,但只是读取而已,是无法执行的。

解决方案,不用ajax:

使用XHR 全称:XMLHttpRequest

废话不多说直接上代码吧:

1. 前端请求

     function downloadAttachments(attachmentId) {
		   var url = 'http://localhost/KRISADMIN/downloadAttachment';
		   var xhr = new XMLHttpRequest();
		   xhr.open('POST', url);// 也可以使用POST方式,根据接口,也可以写get
		  
		  xhr.responseType = "arraybuffer";
		  
		  // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
		   xhr.onload = function () {
	    		   // 请求完成
	    		   if (this.status === 200) {
		    		   // 返回200
		    		   var blob = new Blob([this.response], {type: "application/octet-stream"});
		    		   var reader = new FileReader();
		    		   reader.readAsDataURL(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值