0

我想记住有人访问过的最后一页(比如这里
我试图用 cookie-session 来做,但它不像我想象的那样工作。

我看到了这个,我尝试了这个例子来延长会话但没有成功。

这里的代码:

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

var app = express();

app.use( session({ secret: 'secret' }) );


app.get('/a', function (req, res) {
  if(req.session.last) {
    res.write("the last page was " + req.session.last + ". ");
  }  
  req.session.last = "a";
  res.end("Page A");  
});

app.get('/b', function (req, res) {
  if(req.session.last) {
    res.write("the last page was " + req.session.last + ". ");
  } 
  req.session.last = "b";  
  res.end("Page B");
});

app.get('/c', function (req, res) {
  if(req.session.last) {
    res.write("the last page was " + req.session.last + ". ");
  } 
  req.session.last = "c";  
  res.end("Page C");
});

app.listen(8080);
4

1 回答 1

0

您确定您的日志中没有出现“发送后无法写入标题”的错误吗?您可以尝试将会话的分配移至 res.write 调用之前吗?从您的第一个链接,在评论中......

“我一直收到一个错误,标头在发送后无法设置。我修改了代码,以便在发送任何正文之前设置 lastPage,例如:

var responseText;

if(req.session.lastPage) 
responseText = 'Last page was: ' + req.session.lastPage + '. ';

else
responseText = 'You\'re Awesome';

req.session.lastPage = '/awesome';
res.send(responseText);
于 2016-02-10T11:59:17.360 回答