2015-09-02 47 views
1

正在處理用於登錄用戶的不安全功能。你如何通過URL傳遞電子郵件地址?我不斷收到cannot get /錯誤。通過使用UI路由器的URL傳遞電子郵件

網址如下:

/login?company=1234&user=test%40testuser.com

$stateProvider 
     .state('auth.login', { 
      url: '/login?company&username&password', 
      title: 'Login', 
      controller: 'Login', 
      templateUrl: 'x/login', 
      authentication: false, 
      params: { 
       company: null, 
       username: null, 
       user: null 
      } 
     }); 

邏輯日誌記錄在

if ($stateParams.password) { 
      $scope.credentials = { 
       company: $stateParams.company, 
       username: $stateParams.username || $stateParams.user, 
       password: $stateParams.password, 
      }; 

      login($scope.credentials); 
     } 

回答

0

按照文檔https://github.com/angular-ui/ui-router/wiki/Quick-Reference#params你不應該使用的URL,而params在一起(我會刪除參數)。

此外,您正在使用參數用戶在URL中,而不是用戶名像你已經定義它。我認爲你想支持兩者,所以你應該添加用戶作爲查詢參數了。

電子郵件的編碼應該沒問題。

路由錯誤本身可能是由html5mode的缺失配置引起的(https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode)。你有沒有用領先的#來試試它?