如何在MEAN.JS中为每个用户会话存储变量?
问题描述:
我正在使用MEAN.JS,我想在他的会话期间为每个用户存储一些参数(从网站的打开直到浏览器没有登录时关闭),我希望这个参数可以从客户端通过AngularJS并从服务器端处理ExpressJS路由处理程序。
的角度来查询请原谅我的英语不好如何在MEAN.JS中为每个用户会话存储变量?
答
使用Express会话并设置路线:
var express = require('express'),
\t logger = require('morgan'),
\t bodyParser = require('body-parser'),
\t cookieParser = require('cookie-parser'),
\t expressSession = require('express-session');
var app = express();
app.use(logger("tiny"));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(cookieParser('yousecretcode'));
app.use(expressSession({secret: 'yourothersecretcode', saveUninitialized: true, resave: true}));
var router = express.Router();
router.get('/session/set/:value', function(req, res) {
\t req.session.mySession = req.params.value;
\t res.send('session write success');
});
app.get('/session/get/', function(req, res) {
\t if(req.session.mySession)
\t \t res.send('the session value is: ' + req.session.mySession);
\t else
\t \t res.send("no session value");
});
app.use('/', router);
var server = app.listen(8097, function() {
\t console.log('BASIC SESSION server is listening on port %d', server.address().port);
});
参考:http://blog.arisetyo.com/?p=492
有一个叫做Express模块作为上述参考亮点,redis提供了更高级的解决方案。如果您需要参考查询路线或使用Yeoman发电机(推荐),请参阅meanjs文档。
我希望这可以帮助你。