首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js快捷创建会话

Node.js快捷创建会话
EN

Stack Overflow用户
提问于 2014-08-31 10:12:48
回答 2查看 7.3K关注 0票数 1

如何在高速公路(4.0)中创建会话?

我在链接中也做了同样的事情

代码语言:javascript
复制
var session = require('express-session');

/* session */
app.use(session({ secret: '1s2sd25asd7asd5asd7f4f1f'}))

但是它会产生错误吗?

代码语言:javascript
复制
TypeError: Cannot read property 'connect.sid' of undefined

如何在高速公路中创建会话?我已经尝试创建了3天的会议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-31 11:33:43

在快递4中,创建这样的会话

代码语言:javascript
复制
var express = require('express');
var app = express();
var cookieParser = require('cookie-parser');
var session = require('express-session');

您必须在会话前使用cookieParser

代码语言:javascript
复制
app.use(cookieParser())
app.use(session({secret: 'MySecret'}));

欲了解更多信息,请访问在这里阅读连接官方文档

票数 5
EN

Stack Overflow用户

发布于 2015-01-20 04:37:54

完整代码:

代码语言:javascript
复制
var express = require('express');
var session = require('express-session');
var bodyParser = require('body-parser');
var app = express();

app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);

app.use(session({secret: 'ssshhhhh'}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

var sess;

app.get('/',function(req,res){
sess=req.session;
//Session set when user Request our app via URL
if(sess.email)
{
/*
* This line check Session existence.
* If it existed will do some action.
*/
res.redirect('/admin');
}
else{
res.render('index.html');
}
});

app.post('/login',function(req,res){
sess=req.session;
//In this we are assigning email to sess.email variable.
//email comes from HTML page.
sess.email=req.body.email;
res.end('done');
});

app.get('/admin',function(req,res){
sess=req.session;
if(sess.email)
{
res.write('
<h1>Hello '+sess.email+'</h1>
');
res.end('<a href="+">Logout</a>');
}
else
{
res.write('
<h1>Please login first.</h1>
');
res.end('<a href="+">Login</a>');
}

});

app.get('/logout',function(req,res){

req.session.destroy(function(err){
if(err){
console.log(err);
}
else
{
res.redirect('/');
}
});

});
app.listen(3000,function(){
console.log("App Started on PORT 3000");
});

在这里阅读:http://codeforgeek.com/2014/09/manage-session-using-node-js-express-4/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25590969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档