我不知道为什么在编程中有很多该死的错误和问题,即使是基本任务。这是我的代码,无论我做出多少古怪的位置变化,它都拒绝工作。
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
感谢任何帮助,谢谢。
答案 0 :(得分:2)
我认为这里req.session
未定义,而不是req.body
。因为它的属性设置错误。
如果req.body
未定义,则会抛出属性读取错误。
Cannot read property 'username' of undefined.
您应该使用express-session中间件来克服此问题。我希望这有帮助。
答案 1 :(得分:0)
我已经回答了同样的问题check it你应该使用:app.use(express.cookieSession());