2016-07-08 2 views
0

태그에서 req.session.username이 정의되지 않은 이유는 무엇입니까? >>> DOESNT WORK < < < >>> 이것은 일을한다 < < <. 나는 모듈에 인수로서 req를 가져 왔지만 다른 것을해야 할 것 같습니까?(명시 적 req.session이 포함 된) 내 require() 모듈 내에서 정의되지 않았습니다

module.exports = { 

    validate: function(username, password, req) { 

     var url = 'mongodb://localhost'; 
     var MongoClient = require('mongodb').MongoClient; 
     var assert = require('assert'); 
     var ObjectId = require('mongodb').ObjectID; 

     MongoClient.connect(url, function(err, db) 
     { 
      assert.equal(null, err); 
      console.log("Connected correctly to server."); 

      var cursor = db.collection('users').find({username : username}); 

      cursor.each(function(err,doc,req) 
      { 

       assert.equal(err, null); 

       if (doc != null) 
       { 
         console.log("user found: " + doc.username); 

           req.session.username = "ttyy"; // >>>DOESNT WORK<<< 
           return true 

       } 
       else 
       { 
         console.log("user not found"); 
         return false; 
       } 
      }); 
       //db.close(); 
     }); 
    }  
}; 
다음/아약스 경로가 아약스 호출을 통해 액세스하고 >>> 본에서 세션 변수를 설정하는 일은 WORK에게 < < <


//index.js file 

var express = require('express'); 
var router = express.Router(); 

var app = express(); 

var functions = require('../public/javascripts/functions.js'); 

router.post('/ajax', function(req, res , next){ 

    var username = req.param("username"); 
    var password = req.param("password"); 
    var operation = req.param("operation"); 

    else if (operation === "validate") 
    { 




     async.series([ 

      function() 
      { 

       functions.validate(username, password, req); 

      } 

     ], function(err,result) 
     { 

      if (err) 
       return console.log(err); 

      console.log(result); 

     }); 
     //req.session.username = "yaryar"; >>>THIS DOES WORK<<< 

    } 

    var strings = ["rad", "bla", "ska"] 

    console.log('body: ' + JSON.stringify(req.body)); 
    console.log("AJAX RECEIVED"); 
    res.send(strings); 
}); 

module.exports = router; 

functions.js 파일을합니까

답변

0

cursor.each(function(err,doc,req)으로 덮어 쓰기를 수행하면 cursor.each(function(err,doc,arr)으로 바뀌며 작동합니다.