3
我試圖建立一個nodejs應用程序,我必須定義cookie。這是一些代碼:Nodejs高速緩存不添加
var app = express();
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.cookieParser());
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
...
app.get('/', routes.indexGET);
app.post('/login', routes.loginPOST);
app.post('/number', routes.numberPOST);
...
res.cookie('number', req.body.number, {secure: true, httpOnly: true, maxAge: 1209600000});
console.log(req.cookies); //Returns {}
爲什麼不添加cookie?我知道這個問題已經在這裏問過,但我沒有罰款任何罰款答案。即使「正確的」答案(將cookieParser放在路由器之前)也沒有幫助。有什麼建議麼?謝謝。
非常感謝,它的作品:) – danchohen
我面臨同樣的問題。我加了安全錯誤,但仍然無效。你能舉一個簡單路由的例子嗎?完整的配置發送一個cookie? – user3631341
這取決於很多因素。你使用什麼版本的expressjs?對於版本4.x +,在使用它之後,您必須使用[cookie解析器中間件](https://www.npmjs.com/package/cookie-parser),並且可以使用字段'req.cookies.name'和方法'res.cookie(name,value)'。同樣,在4.11.0+版本中,您可以使用'res.append('Set-Cookie','foo = bar; Path = /; HttpOnly')'設置多個cookie字段。查看api參考http://expressjs.com/ –