方法一:window.open(url);
1 window.open("http://127.0.0.1:8001/admin/finance/export/exportExcel");
但这有个问题:浏览器会打开一个新窗口,然后迅速自动关闭,体验非常不好。
方法二:模拟form提交
由于ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型,所以通过ajax去请求该接口是无法下载文件的,所以我们创建一个新的form元素来请求接口。
1 var $eleForm = $("<form method='get'></form>");
2 $eleForm.attr("action","http://127.0.0.1:8001/admin/finance/export/exportExcel");
3 $(document.body).append($eleForm);
4 $eleForm.submit();
方法三:模拟a标签点击(强烈推荐)
jquery实在是太方便了,犹如控件的自摸,仅仅一行代码流畅下载!
1 $("<a href='http://127.0.0.1:8001/admin/finance/export/exportExcel'/>")[0].click();