传统的方法
在按钮的点击事件函数中,在新标签页中打开下载链接。
1
| window.open('/download/exportdata');
|
会打开一个空白页面,然后消失,用户体验不太好。
优雅的用户体验
1
2
3
4
| var $form = $('<form method="GET"></form>');
$form.attr('action', '/download/exportdata');
$form.appendTo($('body'));
$form.submit();
|
JS构造iframe
1
2
3
4
| var iframe = document.createElement("iframe");
iframe.style.display = "none";
iframe.src = '/download/exportdata';
document.body.appendChild(iframe);
|
页面中使用含有download属性的a标签
1
| <a href="/download/exportdata" download="xxx.csv">download</a>
|