2016-11-23 19 views
5

Aşağıdaki NodeJS kodu vardır: Bu değişkenin değeri nodejs başka yönlendirici sayfasında kullanılabilir böyleceNodeJs ile oturum değişkeni nasıl kullanılır?

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; 

Esasen ben bir oturum değişkeninde comport ve command değişkenin değerini saklamak istiyorum .

Oturum değişkenini nasıl depolayacağınız ve alacağınızdan emin değilim. aşağıdaki gibi

+0

express kullanıyor musunuz? –

+0

evet ekspres kullanıyorum – John

cevap

9

express-session kurun ve kullanın:

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; 
}); 

ardından kod oturumu kullanarak basit giriş ve çıkış açıklar. İlklendirdiğimiz session, cookies'u saklamak için secret'u kullanır. Bu yardımcı olur umarım.

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('/'); 
    } 
    }); 
});` 
+0

Teşekkür ederim. App.use'nin amacı ne olurdu (oturum ({secret: 'XASDASDA'})); ve değişken değerlerini nasıl ayarlarım? – John

+0

'secret'' cookie' kullanımı için kullanılır ve biz normal seansı ve normalde farklı görünümler için 'session'ı doğrulamak için bazı sırlar koyarız. –

+0

Tamam, bunun için teşekkürler, ama bu sayfada kullanmak için comport ve komutun oturum değerini nasıl tanımlarım? – John

İlgili konular