angularJs - `$ window.location.href` - 仅在firefox中引发错误

时间:2016-11-04 13:48:41

标签: angularjs firefox

在我的角度应用程序中,我通过conditinal重新指导用户。除了firefox浏览器之外,所有内容都可以正常工作。

firefox浏览器将此$window.location.href视为服务器端请求,并将我的应用trigger视为未知来电。 chrome,ie工作正常。

这是我的代码:

fn.redirectToLogin = function() {

        var site = fn.env.auth;
        var clientId = fn.env.oauth.client_id;
        var redirectUri = fn.env.oauth.redirect_uri;
        var authorizePath = String( "authorization.oauth2?response_type=token&client_id=" );
        var state = fn.env.state;


        var URL = encodeURI(site + authorizePath + clientId + '&redirect_uri=&scope=&state=' + encodeURIComponent(JSON.stringify(state)));
        $window.location.href = URL;//requesting to server!! throws error

        console.log( 'fn.env.state::', fn.env.state );

    }

    if( !$rootScope.isUserLoggedIn && fn.env.state !== undefined ) {

        console.log('going to call auto login!');
        fn.redirectToLogin();

    }

1 个答案:

答案 0 :(得分:0)

我相信在Angular中更改网址的方式是$location.url(URL)。在控制器中注入$location并使用它而不是直接设置值。 Here您可以阅读更多相关信息。