【发布时间】:2014-12-23 17:36:41
【问题描述】:
我创建了一个 Angular js 程序,用于从服务器下载文件,代码如下
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 链接时,响应时间会变得有点长,导致 url 无法正确重定向。有可能解决这个问题吗?或者有没有其他方法可以解决这个问题?
【问题讨论】:
-
最简单的方法是不使用 AJAX 发出请求。只需删除您的
ng-click属性并依靠浏览器来处理下载。 -
您是否在服务器端使用 java(Spring 控制器或 Jersey Rest Service 等任何东西...)
-
@BenFoster 我在这里做了一个小改动,这里我需要参数(batchExec)来从 url 获取内容。这也是一个href放在表格行中,因此参数将决定onclick
-
@NidhishKrishnan 是的,我正在使用 Spring Web 服务
-
@AnishAntony 看看我的回答......
标签: java javascript angularjs url spring-mvc