J'ai le code NodeJS suivant:
let sql = `SELECT box_id, cubby_id, occupied, comport
FROM box
WHERE longestDimension = ?
AND LOWER(box_id) = LOWER(?)`;
connection.query(sql, [boxSelectedDimension, boxSelectedValue] , function(err, rows, fields) {
if (!err) {
for(var i=0; i< rows.length; i++) {
// Make the comparaison case insensitive
if (rows[i].occupied == `unoccupied`) {
console.log("free");
var comport = rows[i].comport;
var command = "open" + rows[i].cubby_id;
Essentiellement, je voudrais stocker la valeur des variables comport
et command
dans une variable de session afin que la valeur de ces variables puisse être utilisée dans une autre page de routeur dans nodejs.
Je ne sais pas comment stocker et récupérer la variable de session.
Installer express-session
et utilisez comme suit:
var express = require('express');
var session = require('express-session');
var app = express();
app.use(session({secret:'XASDASDA'}));
var ssn ;
app.get('/',function(req,res){
ssn=req.session;
/*
* Here we have assign the 'session' to 'ssn'.
* Now we can create any number of session variable we want.
* Here we do like this.
*/
// YOUR CODE HERE TO GET COMPORT AND COMMAND
ssn.comport;
ssn.command;
});
Le code suivant explique la connexion et la déconnexion simples à l'aide de la session. Le session
que nous initialisons utilise secret
pour stocker cookies
. J'espère que cela t'aides.
var ssn;
app.get('/',function(req,res) {
ssn = req.session;
if(ssn.email) {
res.redirect('/admin');
} else {
res.render('index.html');
}
});
app.post('/login',function(req,res){
ssn = req.session;
ssn.email=req.body.email;
res.end('done');
});
app.get('/admin',function(req,res){
ssn = req.session;
if(ssn.email) {
res.write('<h1>Hello '+ssn.email+'</h1>');
res.end('<a href="+">Logout</a>');
} else {
res.write('<h1>login first.</h1>');
res.end('<a href="+">Login</a>');
}
});
app.get('/logout',function(req,res){
req.session.destroy(function(err) {
if(err) {
console.log(err);
} else {
res.redirect('/');
}
});
});`