2014-09-20 62 views
1

我在我的网站上收到以下错误时,我加载它在联机服务器上。 我用快递3.x中,第一个URL鸵鸟政策有发生问题的,但我不登录错误是TypeError:无法设置属性'用户'未定义在

类型错误:未定义无法设置属性“用户”在

我的代码是:

server.engine('html', swig.renderFile); 
    server.set('view engine', 'html'); 
    server.set('views', './app/views'); 

    server.configure(function() { 
     server.use(express.logger()); 
     server.use(express.cookieParser()); 
     server.use(express.bodyParser()); 

     server.use(express.session({ 
      secret: "lolcatz", 
      store: new RedisStore({}) 
     })); 
    }); 

    server.get('/', function (req, res){ 
     res.render('home'); 
    }); 

    server.get('/app', function (req, res) { 
     res.render('app', { 
      user: req.session.user 
     }); 
    }); 

    server.post('/log-in', function (req, res) { 
     req.session.user = req.body.username; 
     res.redirect('/app'); 
    }); 

    server.listen(3000); 
+0

我的工作猜测是你的服务器变量没有被定义或无效。 – sdespont 2014-09-20 19:45:35

回答

0

请国家软件版本的问题occurring.sometimes版本是什么事情,我想这一次也是如此。

首先,误差正在发生的一切,因为req.session.user = req.body.username;

,这意味着你没有正确设置

server.use(express.session({ secret: "lolcatz", store: new RedisStore({}) }));

虽然上面的代码应该work.So我假设你使用快递4.0并继续使用server.configure函数。由于快递3.x版app.configure快递4.0版已被删除,上面的代码不会在快递4.0

所以干脆删除功能,并使其像...

server.use(express.logger()); 
server.use(express.cookieParser()); 
server.use(express.bodyParser()); 

server.use(express.session({ 
    secret: "lolcatz", 
    store: new RedisStore({}) 
})); 

server.get('/', function (req, res){ 
    res.render('home'); 
相关问题