大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
利用jquery的ajax函数实现,具体的文件下载功能根据你所使用的语言。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比牙克石网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式牙克石网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖牙克石地区。费用合理售后完善,10多年实体公司更值得信赖。
可以用一个jQuery下载文件的插件Downloadr,它可以实现点击下载链接时显示遮罩层,对提升用户体验是很有效的
JQuery的ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型,所以要实现ajax下载,不能够使用相应的ajax函数进行文件下载。
但可以用js生成一个form,用这个form提交参数,并返回“流”类型的数据。在实现过程中,页面也没有进行刷新,参考例子如下:
var form=$("form");//定义一个form表单
form.attr("style","display:none");
form.attr("target","");
form.attr("method","post");
form.attr("action","exportData");
var input1=$("input");
input1.attr("type","hidden");
input1.attr("name","exportData");
input1.attr("value",(new Date()).getMilliseconds());
$("body").append(form);//将表单放置在web中
form.append(input1);
form.submit();//表单提交
jQuery的下载和使用
1.下载 ,在浏览器中输入jQuery,找到jQuery的官网
·
· jQuery 会显示当前最新的几个版本,所以,想下载之前的版本,需将网页拉到最底下
· 找到 past releases 。点击jQuery CDN
· 再找到jQuery core 下的see all versions of jQuery core 点击进去 即可查看到所有的jQuery版本。
· 找到之后发现后面有两个选项,这两个选项都可以,只是占用大小不同,即两者的区别在于压缩和未压缩、有空格和没有空格, uncompressed 选项 为未压缩,适用于编译。 minified 选项为压缩版本。
· 下载 :对着两个选项之一 单击右键,在新网页或者新标签中打开之后就可以看到jQuery的代码 ,再Ctrl + S保存到本地就可以了。
2.在HTML中引用
注意: jQuery的引用一般放在最前面。 然后再是自己的样式。例如:
scriptsrc="js/jquery-1.11.1.js"//jQuery的引用/script
script//自己的样式/script
举个完整的例子
html
head
metacharset="UTF-8"
title/title
/head
body
div测试文字/div
pid="myp"asdkh/p
scriptsrc="js/jquery-1.11.1.js"/script
script
/*添加事件,one :这个事件只会触发一次 */
$("#myp").one("click" ,function(){
alert("a");
});
/script
/body
/html
可以试试这个
function downloadImage(path,imgName) {
var _OBJECT_URL;
var request = new XMLHttpRequest();
request.addEventListener('readystatechange', function (e) {
if (request.readyState == 4) {
_OBJECT_URL = URL.createObjectURL(request.response);
var $a = $("a/a").attr("href", _OBJECT_URL).attr("download", imgName);
$a[0].click();
}
});
request.responseType = 'blob';
request.open('get', path);
request.send();
}
通过jquery异步,后台将datatable数据写进excel,然后生成excel文件保存到服务器,然后返回文件名到前台,提示是否下载文件即可,参考代码如下:
// Ajax 文件下载
jQuery.download = function (url, data, method) {
// 获取url和data
if (url data) {
// data 是 string 或者 array/object
data = typeof data == 'string' ? data : jQuery.param(data);
// 把参数组装成 form的 input
var inputs = '';
jQuery.each(data.split(''), function () {
var pair = this.split('=');
inputs += 'input type="hidden" name="' + pair[0] + '" value="' + pair[1] + '" /';
});
// request发送请求
jQuery('form action="' + url + '" method="' + (method || 'post') + '"' + inputs + '/form')
.appendTo('body').submit().remove();
};
};