web-dev-qa-db-fra.com

Comment stocker et lire la session (valeur) dans AngularJs?

J'ai des problèmes en magasin et je lis les données en session avec Angularjs . Après avoir cliqué sur le bouton emp_name devrait stocker dans session et aussi comment lire les noms emp_name enregistrés à partir de session.

Échantillon en plnkr

// Code goes here

var app = angular.module('app', []);

app.controller('Ctrl', function($scope) {
  $scope.employee = [{
      emp_id: 1,
      emp_name: 'Jes',
      emp_cont:9876543445
    }, {
      emp_id: 2,
      emp_name: 'Sandy',
      emp_cont:3553454345
    }, {
      emp_id: 3,
      emp_name: 'Alex',
      emp_cont:9343434345
    }, {
      emp_id: 4,
      emp_name: 'Nancy',
      emp_cont:9876543445
    }, {
      emp_id: 5,
      emp_name: 'Scott',
      emp_cont:9834564455
    }
  ];
  
          $scope.returnRefId = function (emp) {           
            try {
                  //  test emp
                  alert(emp);
                  // session code here
                  
            }
            catch (e) {
                  alert("some errror");
            }
        };
});
ul li{list-style:none;float:left;padding:10px;border:1px solid #ddd;height:20px;width:100px}
ul{clear:both}
label{color:red}
<!DOCTYPE html>
<html>

<head>
  <script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script>
  <link rel="stylesheet" href="style.css" />
  <script src="script.js"></script>
</head>

<body ng-app="app" ng-controller="Ctrl">
  <ul ng-repeat="employees in employee | filter:customFilter">
    <li>{{employees.emp_id}} </li>
    <li>{{employees.emp_name}} </li>
    <li>{{employees.emp_cont}} </li>
    <li><button   ng-click="returnRefId(employees.emp_name);" >Add Session</button></li>    
  </ul>
  <br /><br /><br />
  <label id="read_ses">How to store and read emp_name thru only session</label>
</body>

</html>

J'ai créé l'alerte avec emp_name sur click en utilisant angularjs. Je veux que sur le bouton clic emp_name devrait stocker dans session et pour sessiontesting le but de lire des données en session emp_name quelque part sur la page.

Toute aide/conseil est sincèrement apprécié .. Merci.

6
Rakesh

Les applications AngularJS sont sans état, il n'y a donc pas vraiment de session. Cependant, vous pouvez simuler le comportement de la session en utilisant le stockage local. Voici le ngStorage , Un module AngularJS que vous pouvez utiliser pour modéliser votre session.

En général, vous créez un service pour accéder aux données contenues dans le stockage local, puis vous l'injectez chaque fois que vous devez accéder aux données de session.

Meilleur!

3
Maurizio Vacca

La session HTTP est stockée côté serveur et AngularJS fonctionne du côté client. Si vous souhaitez accéder à la session HTTP à partir de l'application Angular, vous devez implémenter un service côté serveur, puis l'appeler depuis Angular à l'aide de httpService.

0
Michał Kolenda