我在一个有角度的网站上使用ui-router,但是不能让它允许路由到我的服务器。我在我的服务器上有facebook oauth身份验证,我导航到/auth/facebook
,服务器将重定向到fb,拦截回调并将客户端重定向回主页。
在浏览器中导航到/auth/facebook
网址时工作正常,但工作正常,但ui-router会查看位置并拦截我所有的位置更改。
我是如何制作网址请求绕过$urlRouterProvider.otherwise(...)
语句以允许路由到我的api服务器的?我尝试过与路由器提供商添加路由重定向,但它不会触发远程呼叫。
答案 0 :(得分:6)
感谢angular-dart的工作人员:作为解决方法,您可以创建一个ng-click处理程序,window.location.assign('/auth/facebook')
绕过路由器
答案 1 :(得分:3)
您可以使用$urlRouterProvider在您的应用配置中处理此类请求:
$urlRouterProvider.when('/auth/:provider', function() {
window.location.reload();
});
第二种解决方案:
将target="_self"
添加到您的链接中,如下所示:
<a target="_self" ng-href="{{'/auth/'+provider}}">{{provider}}</a>
重复:angular.js link behaviour - disable deep linking for specific URLs