我有一个AngularJS函数,我试图通过向/download?id=10
发送GET请求来下载文件。
$scope.download = function(){
$http({
url: "/download",
method: "GET",
params: {id:"10"}
});
}
此功能绑定到button
标记:<button ng-click="download()">DOWNLOAD</button>
。
当我点击按钮时,没有任何反应。但如果我将浏览器导航到/download?id=10
,它会下载在我后端制作的zip文件。
如何让ng-click
方法下载文件?
答案 0 :(得分:2)
你可以尝试这样
$scope.download = function(){
window.loaction.href = "/download?id=10";
}
或
您可以使用
<a href="/download?id=10" download>Download</a>
答案 1 :(得分:1)
您忘了在功能中添加method:GET or POST
$scope.download = function(){
$http({
url: "/download",
method:'GET'
params: {id:"10"}
});
}
对于动态参数:
$scope.download = function(id){
$http({
url: "/download",
method:'GET'
params: {id:id}
});
}
答案 2 :(得分:1)
按钮不需要 ng-click
,您只需使用 <a>
元素替换并添加 href
属性,
<a href="/download?id=10" download>Download</a>
如果您仍想要按钮,请使用 GET
方法获取该文件,
$scope.download = function(){
$http({
url: "/download",
method:'GET'
params: {id:"10"}
});
}