我是expressjs的新手,我的問題與快速會話有關。快速會話變量在加載api後發生變化
app.js位於package.json下面,我安裝了express和express-session。
如果我去的 'localhost:3000',在控制檯中,req.session.flag值將改變這樣的:
一前:未定義
一前一後:1
兩個前:1
後兩位:2
之後,如果我去的 'localhost:3000 /三',在控制檯中,req.session.flag值將改變這樣的:
三前:2
三後:3
如果我refreash的 'localhost:3000/3' 在這一點上,req.session.flag的值將是2,但不3.
三前:2
三後:3
爲什麼是這樣? req.session.flag的值從前一點改爲3,爲什麼在控制檯中它從2開始?
如果我去'localhost:3000',req.session.flag的值也會從2開始,爲什麼是這種情況?
一前:2
一前一後:1
兩個前:1
後兩位:2個
謝謝!
var express = require('express');
var session = require("express-session");
var post = require('./routes/post');
var app = express();
var port = 3000;
app.use(session({secret:'fdsadfasdfdsafdsafdsafdsafd', saveUninitialized:false, resave: false}));
app.get('/', function (req, res, next) {
console.log("********************************");
console.log("One before: "+req.session.flag);
req.session.flag = 1;
console.log("One after: "+req.session.flag);
next();
},
function (req, res, next) {
console.log("Two before: "+req.session.flag);
req.session.flag = 2;
console.log("Two after: "+req.session.flag);
var html="<!DOCTYPE html><html><head><title>Hello world</title></head><body ><h1>Hello world</h1></body></html>";
res.send(html);
});
app.get('/three', function (req, res, next) {
console.log("********************************");
console.log("Three before: "+req.session.flag);
req.session.flag = 3;
console.log("Three after: "+req.session.flag);
});
app.listen(port);
感謝您的詳細解釋,非常appriciated – yin