传统方法
按钮点击事件中使用 window.open 打开下载链接:
window.open('/download/exportdata');
这种方式会打开一个空白页面后消失,用户体验不佳。
优雅的用户体验
JS 构造 form 后提交
var $form = $('<form method="GET"></form>');
$form.attr('action', '/download/exportdata');
$form.appendTo($('body'));
$form.submit();
JS 构造 iframe
var iframe = document.createElement("iframe");
iframe.style.display = "none";
iframe.src = '/download/exportdata';
document.body.appendChild(iframe);
使用 download 属性的 a 标签
<a href="/download/exportdata" download="xxx.csv">download</a>