次のNodeJSコードがあります。
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;
基本的に、comport
およびcommand
変数の値をセッション変数に保存して、nodejsの別のルーターページでこれらの変数の値を使用できるようにします。
セッション変数を保存および取得する方法がわかりません。
インストールexpress-session
および次のように使用します。
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;
});
次のコードは、セッションを使用した簡単なログインとログアウトを説明しています。初期化するsession
は、secret
を使用してcookies
を格納します。お役に立てれば。
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('/');
}
});
});`