2016-09-14 156 views
1

我正在做一個測試Web應用程序,我試圖將我的用戶詳細信息存儲在本地存儲,但一些如何,它不存儲在本地存儲,從而使我的登錄失敗或存在可能是其他原因。我在控制檯中沒有收到任何錯誤,當我註冊數據時也會進入我的數據庫。登錄詳細信息不會在本地存儲

代碼爲我的控制器:

 `(function(){ 
    angular.module('Test') 
    .controller('loginController',["$scope","$state","$http", function($scope, $state, $http){ 
     if(localStorage['User-Data']) { 
      $scope.loggedIn = true; 
     } 
     else { 
      $scope.loggedIn = false;`} 

$scope.logUserIn = function() { 
    $http.post('api/users/login', $scope.login).success(function(response){ 
     localStorage.setItem('User-Data', JSON.stringify(response)); 
     $scope.loggedIn = true; 
    }).error(function(err){ 
     console.log(err); 
    }); 
}; 

$scope.logOut = function() { 
    localStorage.clear(); 
    $scope.loggedIn = false; 
} 
}]); 
})(); 

和我的HTML如下:

<nav class="nav navbar-default navbar-fixed-top" ng-controller="loginController"> 
<div class="container-fluid"> 
<div ng-show=!loggedIn> 
<strong> Email: </strong> <input type="text ng-model="login.email"> 
<strong> Password: </strong> <input type="password" ng-model="login.password"> 
<button ng-click="logUserIn()"> Login </button> <a ui-sref="signUp"> Create an Account </a> 
</div> 

<div ng-show="loggedIn"> 
    <a ui-sref="editProfile"> Edit Profile </a> 
    <a ui-sref="logOut()"> Logout </a> 
</div> 
</div>  
</nav> 
<body> 
<div ui-view> </div> 
</body> 

的問題是不是任何語法錯誤或丟失的目錄。請查看此代碼並幫助我。

+0

'型= 「文本NG-模型=」 login.email「>'是原始代碼中的拼寫錯誤,還是您在此發佈的代碼? –

+0

'

+0

'這個問題不是關於任何語法錯誤' - 但是有語法錯誤...如果你需要幫助,你需要發佈你想要的幫助代碼,而不是一些隨機無效的代碼 –

回答

0

嘗試使用

JSON.parse(localStorage.getItem('User-Data')) 
+0

'localStorage ['User-Data']'(幾乎)是一樣的東西 - 他似乎不想讀這段代碼片段中的實際值,只是存在,所以,這不會有所作爲 –

0

改變你的代碼

localStorage.setItem('User-Data', JSON.stringify(response)); 

localStorage.setItem('User-Data', JSON.stringify(JSON.parse(response)));