【发布时间】:2014-07-25 13:49:27
【问题描述】:
我不知道为什么在编程中即使是基本任务也会有这么多该死的错误和问题。这是我的代码,无论我做了多少古怪的位置更改,它都无法正常工作。
var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var app = express();
var store = require('./routes/store');
app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(require('stylus').middleware(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'public')));
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.get('/', function(req, res){
res.render('home', {title: 'Ninja Store'})
});
app.post('/', function(req, res) {
username = req.body.username || 'Anonymous';
req.session.username = username;
res.redirect('/');
});
它一直在说
Cannot set property 'username' of undefined
感谢您的帮助。
【问题讨论】:
-
正确检查我认为它在
req.session.username = username;线上失败了 -
我的朋友你完全正确!感谢您指出了这一点。现在要弄清楚会话出了什么问题。
-
我认为你没有使用
session中间件。 -
看看这里之后告诉我npmjs.org/package/express-session
-
Mritunjay,是的,你是对的,我通过一些简单的谷歌搜索找到了 express-session。我认为它曾经作为 expressjs 的一部分包含在内,这就是为什么我正在遵循的教程并未表明我需要手动安装它的原因。谢谢小伙伴的帮助!