这篇文章将为大家详细讲解有关javascript怎么实现下载,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
javascript实现下载的常用方案:1、使用a标签创建一个文件下载的链接--推荐使用;2、使用“window.open”(下载文件名)跳转下载;3、使用<form>元素创建表单“submit()”提交下载文件。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑
如何使用JS
实现异步下载吗?
即:既能实现下载又不刷新页面。这时我们常常会想到使用ajax
,但是由于ajax
接受的response
始终是字符串,因此并不能使用ajax
来实现下载功能。
常见是新建下载的方法为
1、a标签
function commDownload1(url, params) {
url += "?";
for(let key in params) {
url += key + "=" + params[key] + "&";
}
url = url.substr(0, url.length - 1);
$("<a href=" + url + " />")[0].click();
}
2、url跳转
function commDownload2(url, params) {
url += "?";
for(let key in params) {
url += key + "=" + params[key] + "&";
}
url = url.substr(0, url.length - 1);
window.open(url);
3、提交表单
function commDownload3(url, method, params) {
let formStr = `<form action="${url}" method="${method}" >`;
for(let [key, value] of Object.entries(params)) {
formStr += `<input type="text" name="${key}" value="${value}" />`;
}
formStr += "</form>";
$(formStr).appendTo("body").submit().remove();
}
其中a
标签体验好些,其他两个会打开一个新标签再下载再关闭新标签,整个过程让人感觉眼花缭乱,因此推荐使用a
标签实现下载功能。
关于“javascript怎么实现下载”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。