2016-11-04 2 views
0

В моем угловом приложении я перенаправляю пользователя по условию. все работает отлично, кроме 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(); 

    } 
+0

Не могли бы вы добавить, какая ошибка возникает в этой строке '$ window.location.href = URL; // запрос на сервер !! бросает ошибку'? – GROX13

+0

На самом деле, мое приложение имеет несколько ошибок по конкретному запросу. в случае вышеуказанной проблемы, я получаю ошибку по умолчанию как «что-то не так» - тогда мое приложение работает правильно. это только в firefox – user2024080

ответ

0

Я считаю, что способ изменить URL в угловом является $location.url(URL). Inject $location в вашем контроллере и используйте его вместо прямого значения. Here вы можете узнать больше об этом.

+0

Конечно, позвольте мне попробовать. – user2024080

+0

На самом деле, это не работает для меня. он рассматривает как изменение внутренней страницы. но в моем случае я перенаправляюсь на внешний веб-сайт для SSO' - цели входа. – user2024080

Смежные вопросы