簡體   English   中英

如何在AngularJs中存儲和讀取會話(值)?

[英]How to store and read session (value) in AngularJs?

我在存儲時遇到麻煩並使用Angularjs讀取會話數據。 單擊按鈕后,emp_name應存儲在session以及如何從session讀取存儲的emp_name。

樣品在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> 

我使用angularjs在點擊時創建了帶有emp_name的警報。 我希望在按鈕單擊時,emp_name應該存儲在session並且對於session測試目的,在頁面的某處讀取會話的emp_name數據。

任何和所有的幫助/建議是真誠的感謝。 謝謝。

使用Javascript API進行會話存儲,您的會話存儲代碼可能看起來像這樣。 您必須序列化Javascript對象,因為會話存儲僅支持字符串。

$scope.returnRefId = function (emp) {           
        try {
              //  test emp
              alert(emp);
              // session code here
              sessionStorage.setItem("emp-key", JSON.stringify(emp));
        }
        catch (e) {
              alert("some errror");
        }
 };

或者,您可以將emp每個屬性存儲在單獨的存儲密鑰中。 調試應該如此簡單

sessionStorage.getItem("emp-key")

有關會話存儲的更多信息,請訪問此處。 https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage

還要檢查ngStorage https://github.com/gsklee/ngStorage

AngularJS應用程序是無狀態的,因此沒有真正的會話。 但是,您可以使用本地存儲偽造會話行為。 這是ngStorage ,一個AngularJS模塊,可用於為會話建模。

通常,您創建一個服務來訪問本地存儲中包含的數據,然后在需要訪問會話數據時注入服務。

最好!

HTTP會話存儲在服務器端,AngularJS在客戶端工作。 如果要從Angular應用程序訪問HTTP會話,則需要在服務器端實現服務,然后使用httpService從Angular調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM