我做了很多研究,但我是新手,我找不到具体的东西。 当用户登录时,我想在会话中存储一些用户信息,如Name,Profile_picture,Id,所以我可以在导航栏中使用它。
我怎样才能做到这一点?
例如在PHP中太简单了,只需添加这行代码,信息就会保留在您访问的页面中(会话到期之前)
session_start();
$_SESSION['user_id']
答案 0 :(得分:2)
您必须创建快速会话:https://www.npmjs.com/package/express-sessions
然后像这样存储会话:
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<head>
<script src="script.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="odinvite">
<div>
<br />
<br />
$location.url() = {{location.url()}}<br />
$location.search() = {{loc1}}<br />
keyword valus is {{mytry}}
</div>
{{mytry}}
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('odinvite', function ($scope, $location)
{
//$scope.mytry = 5;
$scope.location = $location;
$location.url('http://fiddle.jshell.net/bar2o6gf/3/show/light/?username=7');
$scope.loc1 = $location.search() ;
if($location.url().indexOf('username') > -1){
$scope.mytry= $location.search().username ;
}
}
);
</script>
</body>
</html>
此会话将在您访问网页时存储。如果要为cookie设置值,只需在请求中请求cookie并设置一些值:
let session = require("express-session");
app.use(session({
secret: "secret",
resave: false,
saveUninitialized: true,
cookie: {secure: true,
httpOnly: true,
maxAge: 1000 * 60 * 60 * 24
}
}));
答案 1 :(得分:1)
您可以使用快速会话或Cookie会话(https://www.npmjs.com/package/cookie-session)
如果你使用cookie session&amp;您创建了任何更改会话变量或在服务器端,然后无需重新启动服务器。
它可以帮助您提高开发速度,因为您无需重启服务器。
app.use(cookieSession({
name: 'session',
keys: ['key1', 'key2']
}))
app.get('/', function (req, res, next) {
// Update views
req.session.views = (req.session.views || 0) + 1
// Write response
res.end(req.session.views + ' views')
})