我创建了一个AngularJS程序,用于从服务器下载文件,以下是代码:
HTML代码
<a download="fullList.csv" ng-href="{{ fullListUrl }}" type="button" class="btn btn-success btn-xs exec-batch" ng-click="exportCSVBulk(batchExec)">
<span class="glyphicon glyphicon-ok"></span> EXPORT AS CSV
</a>
AngularJS控制器
$scope.exportCSVBulk=function(){
var page = "../importExportService/exportBulkCSV/"+batchExec.id;
$http.get(page).success(function(response) {
$scope.fullListUrl = 'data:text/csv;charset=utf-8,' + escape(response);
});
}
当用户点击“EXPORT AS CSV”链接时,我正在执行的操作是触发函数exportCSVBulk
,并从该函数设置url值(fullListUrl)。但这是一个ajax请求,所以当用户点击链接时,响应时间变得有点长,导致url无法正确重定向。有没有办法解决这个问题?或者有没有其他替代方法来解决这个问题?
ng-click
属性,依赖于浏览器处理下载即可。 - Ben Foster