AngularUI $ StateParams多个参数未定义

时间:2015-06-28 17:54:53

标签: angularjs express angular-ui-router angular-ui

只需尝试通过URL将令牌发回给我。 AngularUI的新手,所以不明白为什么。

这是路线:



angular.module('myApp')
  .config(function($stateProvider) {
    $stateProvider
      .state('oauth_callback', {
        url: '/oauth_callback?access_token&expires_in',
        templateUrl: 'app/oauth_callback/oauth_callback.html',
        controller: 'OauthCallbackCtrl'
      });
  });




以下是我为控制器所做的一切:



ngular.module('myApp')
  .controller('OauthCallbackCtrl', function ($scope, $stateParams) {
  	console.log('## params:', $stateParams);
  });




控制台日志返回:

## params: Object {access_token: undefined, expires_in: undefined}

任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:1)

当我开发一个使用oAuthui-router的应用时,我遇到了类似的问题。

我的问题有点不同,因为我做了一些内部重定向来设置i18n路由。当oAuth将我重定向回我的应用时,它会变得很疯狂,因为它应用的哈希值和我开发的ui-router结构。

我最终在oAuth上设置了指向中性HTML页面的重定向网址,该页面解析了哈希值,将其存储在localStorage上,然后关闭了窗口。

当用户调用身份验证时,我会使用oAuth服务器触发新的窗口/选项卡打开。在我的角度应用程序中,我激活一个$interval,查找我定义的localStorage键的存在性和有效性。虽然它没有填充HTML,但它一直在寻找它。当它得到它,我继续在应用程序上的东西。