本文实例讲述了JQuery实现文件下载的常用方法。分享给大家供大家参考,具体如下:
window.location。href=https://www.yisu.com/zixun/url; >之前
var url="下载接口地址”;//构造隐藏的形式表单 var=$美元形式(“& lt;形式id=跋略亍眂lass=耙亍?皃ost”方法在& lt;/form>”); 美元form.attr (“url”, url); ((身体).append美元形式);//添加提交参数 var input1=美元(“& lt;输入name=' param1 type='文本'祝辞& lt;/input>”); input1.attr美元(“价值”、“参数值1 "); $(" #下载").append ($ input1); var input2=美元(“& lt;输入name=' param2 type='文本'祝辞& lt;/input>”); input1.attr美元(“价值”、“参数值2”); $(" #下载").append ($ input2);//提交表单 美元form.submit (); >之前
ajax支持的服务器返回数据类型有:xml、json、脚本,html,其他类型(例如二进制流)将被作为字符串返回,无法触发浏览器的下载处理机制和程序。
//ajax将返回数据转换为字符串,再利用该字符串创建团对象,下载的文件无法正确打开,数据可能已经被破坏 var blob=new blob((数据));//对于团对象,我们可以创建出一个URL来访问它。使用URL对象的createObjectURL方法。 var=document.createElement (' a '); 一个。下载=癲ata.doc”; a.href=https://www.yisu.com/zixun/window.URL.createObjectURL (blob); a.click () >之前
一直以来,JS都没有比较好的可以直接处理二进制的方法。而Blob的存在,允许我们可以通过JS直接操作二进制数据.Blob对象可以看做是存放二进制数据的容器。
<>强创建团对象强>
var blob=new blob (dataArr: Array选择:{类型:字符串,结局:string}); >之前 <李> dataArr:数组,包含了要添加到团对象中的数据。数据可以是任意多个ArrayBuffer, ArrayBufferView,斑点,或者DOMString对象。李> <李>选择:对象,包含两个属性
<李>类型:用于设置团对象的属性(如:MIME类型)李> <李>结局:(已废弃),设置BlobBuilder.append()方法的末梢参数,取值“透明的”或“本地”李>
李>//例如创建一个装填DOMString对象的团对象 var数据=' https://www.yisu.com/zixun/ Blob '; var blob=new blob((数据),{“类型”:" text/html "}); console.log (blob); >之前<强> xmlhttprequest 2 + Blob实现文件下载强>
xmlhttprequest 2标准支持流文件,使用<代码> xhr.response> 代码作为返回(不是responseText)
var url=" "; var xhr=new XMLHttpRequest (); xhr。打开(‘得到’,url,真的);//得到请求,请求地址,是否异步 xhr。responseType=癰lob”;//返回类型blob xhr。onload=function(){//请求完成处理函数 如果这一点。状态===200){ var blob=this.response;//获取返回值 var=document.createElement (' a '); 一个。下载=癲ata.doc”; a.href=https://www.yisu.com/zixun/window.URL.createObjectURL (blob); a.click (); } };//发送ajax请求 xhr.send (); >之前更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery页面元素操作技巧汇总》、《jQuery常见事件用法与技巧总结》,《jQuery常用插件及用法总结》,《jQuery扩展技巧总结》及《jQuery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
JQuery实现文件下载的常用方法分析