0
申し訳ありませんが、私の質問では、私はジュニアです。nodeJSで可変セッションを持つ方法
ノードサーバーに2人の異なるユーザーが接続すると、変数が交差して結果が正しくありません。
私はnodejsの変数にセッションを使用する必要がありますが、使用方法はわかりません。
私のconsole.log変数が「疑似」の場合、2人のユーザーが接続していると間違った結果が出ることがあります。
私を助けてください:(あなたはあなたの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