0
죄송합니다. 제 질문에 대해, 저는 중학생입니다.nodeJS에서 변수 세션을 갖는 방법
내 노드 서버에 두 명의 다른 사용자가 연결되면 변수가 교차하고 결과가 잘못됩니다.
나는 nodejs에서 내 변수에 대해 세션을 사용해야하지만 사용법을 모른다.
내가 console.log 내 변수 '가짜', 때로는 내가 두 명의 사용자가 연결되면 잘못된 결과가 있습니다.
제발 도와주세요 :(당신은 당신의 app.js 내부 변수로 의사를 설정하는
//Le modules
var express = require('express'),
bodyParser = require("body-parser"),
session = require('express-session'),
cookieParser = require('cookie-parser'),
app = express(),
//mongoose = require('mongoose'),
MongoClient = require('mongodb').MongoClient,
//assert = require('assert'),
ObjectId = require('mongodb').ObjectID,
device = require('express-device'),
morgan = require('morgan'),
fs = require('fs'),
path = require('path'),
log4js = require('log4js'),
//Module complémentaire pour MORGAN
accessLogStream = fs.createWriteStream(path.join(__dirname,'access.log'), {
flags: 'a'
}),
myDate = new Date;
app.use(cookieParser());
app.use(device.capture()); //Module pour connaitre la plate-forme deconnection (PC, tablette, mobile...)
app.use(express.static(__dirname + '/fichiers'));
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(morgan('combined', {
stream: accessLogStream
}));
app.use(session({
secret: '123456789SECRET',
saveUninitialized: false,
resave: false,
cookie: {
maxAge: 10000
}
}))
app.set('view engine', 'jade'); // Template HTML
app.set('views', './fichiers'); // Dire à JADE où sont les fichiers.
var pseudo = '';
app.get('/blindtest', function (req,res){
res.render('blindtest');
})
app.post('/envoiPseudo', function (req,res){
return pseudo = req.body.pseudo;
})
app.get('/test', function (req,res){
console.log(pseudo);
})
var server = app.listen(8080, function() {
var adressHost = server.address().address;
var portHost = server.address().port;
console.log('Ecoute à l\'adresse http://%s:%s', adressHost, portHost);
});
답안에서 'return pseudo = req.body.pseudo;'를 제거하십시오. 이것은 매우 나쁜 습관입니다. 나머지 대답은 그 라인이 필요하지 않으므로 사용해서는 안된다는 것입니다. – jfriend00