对不起我的问题,我是一名大三学生。
当我的节点服务器连接两个不同的用户时,我的变量交叉,结果错误。
我读过我必须在nodejs中使用我的变量的会话,但我不知道如何使用。
当我在console.log中我的变量'Pseudo'时,如果两个用户连接,有时我会得到错误的结果。
请帮帮我:(
//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);
});
答案 0 :(得分:0)
您正在将app设置为app.js中的变量,您需要将其分配给用户会话。您可以通过执行
来访问(和设置)会话变量req.session.[variable]
一个简单的例子是:
app.post('/envoiPseudo', function (req,res){
req.session.pseudo = 'this is unique to the user requesting';
console.log(req.session.pseudo);
res.send("pseudo session variable: " + req.session.pseudo);
})
修改强> 正如jfriend00所说,你不应该"返回"这样的变量。您应该将内容添加到响应(res)并发送它。