我的路由方案有一条其他规则:

$urlRouterProvider.otherwise("/a");


我有这个功能:

function getCSV(TableName) {
            window.location = API_ENDPOINT + '/EditValidationXREF/GetCSV?TableName=' + TableName;
        }


问题是,当我启动功能getCSV时,我可能处于状态z,但我会自动重新路由到a(我认为这是另外一条可行的规则)。为什么会发生这种情况,以及如何避免这种情况(即下载后保持在状态z)。

最佳答案

想通了。正在执行getCSV的链接如下所示:

<a href="#" ng-click="vm.getCSV('TableName')">Interchanges</a>


显然,该浏览器将浏览器重定向到了没有路由的页面(因此触发了预期的其他规则)。

解:

<a href="javascript:void(0)" ng-click="vm.getCSV('TableName')">Interchanges</a>

关于javascript - 为什么重定向文件下载会触发 Angular ui路由器,否则会生效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31660300/

10-10 00:02