如何使用location.href在get请求中添加Bearer Token?

时间:2018-03-26 21:31:48

标签: javascript angularjs ajax asp.net-mvc

目前我有发送身份验证令牌的所有ajax请求,但是我创建了一个导出到excel的服务,ajax不支持这个,我正在使用location.href来获取请求。有没有办法添加该令牌?

 var getUrl = '/LandingView/ExportToExcel?excelHeader=' + excelHeader;
                        getUrl += '&companyId=' + $scope.options.companyId;
                        getUrl += '&startDate=' + $scope.options.startDate.toJSON();
                        getUrl += '&endDate=' + $scope.options.endDate.toJSON();
                        getUrl += '&page=' + $scope.options.page;
                        getUrl += '&stateFilter=' + $scope.options.stateFilter;
                        getUrl += '&rows=' + $scope.options.rows;
                        getUrl += '&alertFilter=' + $scope.options.alertFilter;
                        getUrl += '&mode=' + $scope.options.mode;
                        getUrl += '&showLanguages=' + $scope.options.showLanguages;

 location.href = getUrl;

当我这样做时,我需要在标题中包含持票人令牌。

PS:我在后端使用ASP.NET MVC,在前端使用angularJS。

1 个答案:

答案 0 :(得分:0)

我发现了一篇帮助我的文章。我将在这里设置链接。

这种方法的想法是你可以使用ajax,然后使用guid生成的名称返回保存在temp文件夹中的文件名,并使用该文件名下载带有location.href的文件,最后删除该文件。 / p>

https://www.codeproject.com/Tips/1156485/How-to-Create-and-Download-File-with-Ajax-in-ASP-N