将json值存储为angular中的会话

时间:2016-11-15 13:02:20

标签: javascript php angularjs json

我有一个php文件,它返回基于$ http帖子的json结果,如下所示:

json result:

现在,在我的控制器中,我希望将03-1314-00916data[0]['student_number']存储为角度会话,以便我可以在任何控制器中的任何位置使用它。我将如何制作它。



app.controller('signInCtrl', function($scope, $stateParams, $http) {
  $scope.txtUsername = '';
  $scope.txtPassword = '';

  $scope.signIn = function(){
    $http.post('http://infoyon_login.php',
      {'username' : this.txtUsername, 'password': this.txtPassword})
    .success(function(data){
      if(data[0]['logged'] === true)
      {
        $scope.unable = false;
        console.log(data[0]);
        console.log(data[0]['student_number']);
  here --> someSessionVar = data[0]['student_number'];      
        //window.location = '#/app/dashboard';
      }else{
        //console.log('unable to login');
        $scope.unable = true;

      }
      //console.log(data[0]['logged']);
    })
  }
}) //end controller




2 个答案:

答案 0 :(得分:0)

使用HTML5 sessionStorage

if(data[0]['logged'] === true)
  {
    $scope.unable = false;
    console.log(data[0]);
    console.log(data[0]['student_number']);
    sessionStorage.setItem('student_number', data[0]['student_number']);      
    //window.location = '#/app/dashboard';
  }

要检索

   $scope.studentNumber = sessionStorage.getItem('student_number');

答案 1 :(得分:0)

您想要创建服务。如果您需要在解析页面之前让它出现,您需要在$route.resolve()函数中调用该服务,您将添加到$routeProvider逻辑中。至于方法,您可以使用第一个答案中描述的Web存储API,或者如果它是应用程序的关键部分,您可以考虑将其存储在$rootScope中。警告:其他评论者可能不同意该选项,但确实有时间和地点使用$rootScope