表达js:快速会话未定义错误

时间:2018-01-12 08:47:49

标签: javascript node.js express session

我使用快速生成器创建了项目并安装了快速会话包。

这是快递会的顺序

app.js

var expressSession = require('express-session');

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'my-app/dist')));

app.use(expressSession({ resave: true ,secret: '123456' , saveUninitialized: true}));

//routes
var index = require('./routes/index');
var users = require('./routes/users');

app.use('/passport', index);
app.use('/api', users);

在我的 routes / index.js 中我正在设置会话值

router.post('/login', function(req, res, next) {

    req.session.test = 'some data';
    console.log("Session value",req.session.test);
   res.send('ok);

});

在另一条路线中我获得了会话值

router.get('/me',function(req,res){
    console.log('session value',req.session.test);
    res.send('hello');
});

但是我在这里得到了req.session.test

的未定义值

快递版:~4.15.5

这是我的app.js完整版https://pastebin.com/2wPm5bTw

2 个答案:

答案 0 :(得分:0)

我认为会话值测试永远不会发送回客户端,因为您没有将load()添加到res.send() POST处理程序。

我将其添加到this example并且工作正常(您可以通过按左上角的按钮查看日志)。

答案 1 :(得分:0)

Drawable[][] images = new Drawable[4][10]; //your 4 outer arrays with 10 drawables to choose randomly from // needs to be a member variable fillArray();//add your drawables to the arrays here int index = 0;//needs to be a member variable too ImageButton button = new ImageButton(this); button.setImageDrawable(images[index][(int)(Math.random()*10)]); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { index++; ((ImageButton)v).setImageDrawable(images[index][(int)(Math.random()*10)]); } }); 完成Request

res.end()